Cod sursa(job #1341975)
| Utilizator | Data | 13 februarie 2015 12:47:05 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.69 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,max=-2147483648,prim=1,ultim=1,i,s=0,k,min=0,pozMin=0;
FILE*fi,*fo;
fi=fopen("ssm.in","r");
fo=fopen("ssm.out","w");
fscanf(fi,"%d",&n);
for(i=0;i<n;i++)
{
fscanf(fi,"%d",&k);
s+=k;
if(s-min>max)
{
max=s-min;
prim=pozMin+1;
ultim=i+1;
}
if(min>s)
{
min=s;
pozMin=i+1;
}
}
fprintf(fo,"%d %d %d",max,prim,ultim);
fclose(fi);
fclose(fo);
return 0;
}
