Cod sursa(job #412754)
Utilizator | Data | 5 martie 2010 22:15:59 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include <stdio.h>
int main()
{
FILE *fin,*fout;
fin=fopen("ssm.in","r");
fout=fopen("ssm.out","w");
register int N,BS=-1<<31,S=0,px,x,s,f,i;
fscanf(fin,"%d",&N);
for(i=1;i<=N;i++)
{
fscanf(fin,"%d",&x);
if(S<0)S=x,px=i;
else S+=x;
if(BS<S)BS=S,s=px,f=i;
}
fprintf(fout,"%d %d %d\n",BS,s,f);
fclose(fin);
fclose(fout);
}