Cod sursa(job #2075959)
Utilizator | Data | 25 noiembrie 2017 21:31:08 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 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;
int bestsum=-INT_MIN;
for(int i=1;i<=N;i++)
{
int x;
fscanf(fin,"%d",&x);
if(sum<0)
{
st=i;
sum=0;
}
sum+=x;
if(sum>bestsum)
{
bestsum=sum;
dr=i;
}
}
fprintf(fout,"%d %d %d",bestsum,st,dr);
}