if n is for example 1.000.000 compiler stops working. Why? Long int dont help.
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <cmath>
#include <fstream>
using namespace std;
int main() { ofstream fout;
ifstream fin;
fin.open("share.in");
fout.open("share.out");
int n;
fin>>n;
int array1[n];
for(int i=0; i<n; i++)
{
fin >> array1[i];
}
int suma=0, sumb=0, sumc=0, a=1, b=1, c=n-2, a1=0, b1=0, c1=0, apotelesma=1000000000, mikroterhdiafora=1000000000;
while(c>0)
{
while(a1<a)
{
suma+=array1[a1];
a1++;
}
while(b1<b)
{
sumb+=array1[(a1+b1)];
b1++;
}
while(c1<c)
{
sumc+=array1[(a1+b1+c1)];
c1++;
}
if(max(abs(suma-sumb),max(abs(sumb-sumc),abs(sumc-suma)))<=mikroterhdiafora)
{
mikroterhdiafora=min(mikroterhdiafora, max(abs(suma-sumb),max(abs(sumb-sumc),abs(sumc-suma))));
apotelesma=min(apotelesma, max(suma,max(sumb,sumc)));
}
suma=0;
sumb=0;
sumc=0;
a1=0;
b1=0;
c1=0;
c--;
b++;
if(c==0)
{
++a;
b=1;
c=n-a-1;
}
}
fout<<apotelesma;
fin.close();
fout.close();
return 0;
}
Aucun commentaire:
Enregistrer un commentaire