Cod sursa(job #2075967)
| Utilizator | Data | 25 noiembrie 2017 21:35:26 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include<stdio.h>
#include<climits>
FILE*fin,*fout;
int main()
{
fin=fopen("ssm.in","r");
fout=fopen("ssm.out","w");
int N;
fscanf(fin,"%d",&N);
int sum=0,st,dr,inc;
int bestsum=INT_MIN;
for(int i=1;i<=N;i++)
{
int x;
fscanf(fin,"%d",&x);
if(sum<0)
{
inc=i;
sum=0;
}
sum+=x;
if(sum>bestsum)
{
bestsum=sum;
st=inc;
dr=i;
}
}
fprintf(fout,"%d %d %d",bestsum,st,dr);
}
