Cod sursa(job #1061814)
Utilizator | cioltan alex nnnmmm | Data | 20 decembrie 2013 12:25:59 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include<stdio.h>
#define MAXN 7000005
int maxim=-MAXN,sum=0,first,last,c;
int S[MAXN],n,i;
int main()
{
FILE *fin=fopen("ssm.in","r");
FILE *fout=fopen("ssm.out","w");
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++)
fscanf(fin,"%d",&S[i]);
for(i=1;i<=n;i++)
{
if(sum<0)
{
sum=S[i];
c=i;
}
else
sum+=S[i];
if(sum>maxim)
{
maxim=sum;
first=c;
last=i;
}
}
fprintf(fout,"%d %d %d",maxim,first,last);
fclose(fin);
fclose(fout);
return 0;
}