Cod sursa(job #325766)
Utilizator | Udrescu Cristian udrescu_cristi | Data | 22 iunie 2009 12:53:10 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include<stdio.h>
long smax,s,n,i,x,st,dr,inc,sf;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%ld",&n);
scanf("%ld",&x);
s=smax=x;
st=dr=1;
for (i=2;i<=n;i++)
{
scanf("%ld",&x);
if (s+x>=x)
{
dr++;
s+=x;
}
else
{
st=dr=i;
s=x;
}
if (s>smax)
{
smax=s;
inc=st;
sf=dr;
}
}
printf("%ld %ld %ld\n",smax,inc,sf);
return 0;
}