Cod sursa(job #271231)
Utilizator | Data | 4 martie 2009 23:38:53 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <stdio.h>
long i,n,st,dr,stf,drf,max,maxx,x;
int main()
{freopen("ssm.in","r",stdin);freopen("ssm.out","w",stdout);
fscanf(stdin,"%ld",&n);max=maxx=-2000000000;st=1;dr=1;
for(i=1;i<=n;i++)
{fscanf(stdin,"%ld",&x);
if(max>=0){max+=x;dr=i;}
else {max=x;st=i;dr=i;}
if(max>maxx){maxx=max;stf=st;drf=dr;}
}
fclose(stdin);fprintf(stdout,"%ld %ld %ld",maxx,stf,drf);fclose(stdout);
return 0;
}