Cod sursa(job #975882)
Utilizator | Data | 21 iulie 2013 22:38:29 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include<stdio.h>
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int n,i,j,m=0,l,v,f;
long s,b;
scanf("%d",&n);
scanf("%d",&v);
s=v;
if(v<0)
m=v;
b=v;
l=j=f=1;
for(i=2;i<=n;i++)
{
scanf("%d",&v);
s=s+v;
if(s-m>b)
{
l=j+1;
f=i;
b=s-m;
}
if(m>s)
{
m=s;
j=i;
}
}
printf("%ld %d %d\n",b,l,f);
return 0;
}