Cod sursa(job #261272)
Utilizator | perticas catalin perticas_catalin | Data | 17 februarie 2009 23:27:12 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<stdio.h>
FILE*fin=fopen("ssm.in","r");
FILE*fout=fopen("ssm.out","w");
#define inf 2000000000
int ans=-inf,n;
int main()
{
int i,best=-inf,ind,a,st,dr;
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++)
{
fscanf(fin,"%d",&a);
if(best<0){best=a;ind=i;}
else best+=a;
if(best>ans)
{
ans=best;
st=ind;
dr=i;
}
}
fprintf(fout,"%d %d %d",ans,st,dr);
fclose(fin);
fclose(fout);
return 0;
}