Cod sursa(job #1483017)
| Utilizator | Data | 8 septembrie 2015 15:17:13 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include<stdio.h>
#include<stdlib.h>
#define MAX 6000000
int main()
{
FILE* f1,*f2;
f1=fopen("ssm.in","r");
f2=fopen("ssm.out","w");
int N,idx=0,start,end,sum=0,S,bestsum=INT_MIN,i;
fscanf(f1,"%d",&N);
for(i=0;i<N;i++)
{
fscanf(f1,"%d",&S);
if(sum<0)
{
sum=S;
idx=i;
}
else
sum+=S;
if(bestsum<sum)
{
bestsum=sum;
start=idx;
end=i;
}
}
fprintf(f2,"%d %d %d\n",bestsum,start+1,end+1);
return 0;
}
