Cod sursa(job #305011)
Utilizator | Barcau Tomsa utcistu | Data | 15 aprilie 2009 22:58:12 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,n,x,sum=-2000000000,best=0,st,dr,start;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for (i=1,start=1;i<=n;i++)
{
if (sum>best)
{
best=sum;
st=start;
dr=i-1;
}
scanf("%d",&x);
if (sum+x>=0 && sum>=0)
sum=sum+x;
else
{
sum=x;
start=i;
}
}
if (sum>best)
{
best=sum;
st=start;
dr=n;
}
printf("%d %d %d",best,st,dr);
fclose(stdout);
return 0;
}