Cod sursa(job #282409)
Utilizator | Data | 17 martie 2009 16:57:19 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include<stdio.h>
#include<string.h>
FILE *f,*g;
long long smax,poz,p1,p2,s,n,i,a;
int main()
{ f=fopen("ssm.in","r"); g=fopen("ssm.out","w");
fscanf(f,"%ld",&n);
smax=-9999999999; s=0; poz=1;
for(i=1;i<=n;i++)
{ fscanf(f,"%ld",&a);
if(a+s>0)
{ s=s+a;
if(s>smax)
{ smax=s;
p2=i; p1=poz;
}
}
else { s=0; poz=i+1; }
}
fprintf(g,"%ld %ld %ld",smax,p1,p2);
fclose(g);
return 0;
}