samedi 28 février 2015

why error when i have big input


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