Cod sursa(job #527426)
| Utilizator | Data | 31 ianuarie 2011 15:03:45 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 75 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include<stdio.h>
int n,i,j,a[6000000],s,smax,st,dr,ic;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%d",&a[i]);
s=a[1];
smax=a[1];
st=1;dr=1;
ic=1;
for (i=2;i<=n;i++)
{
s+=a[i];
if (s<0)
{
s=0;
ic=i+1;
}
if (s>smax)
{
smax=s;
st=ic;
dr=i;
}
}
printf("%d %d %d\n",smax,st,dr);
return 0;
}
