Cod sursa(job #263403)
Utilizator | Alex Vladescu alex3el_n2o | Data | 20 februarie 2009 12:39:21 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <stdio.h>
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
long aux=1,start,end,sum=0,x,i,n,best=-2000000000;
scanf("%ld\n",&n);
for (i=1;i<=n;++i)
{
scanf("%ld",&x);
if (sum<0)
{
sum=x;
aux=i;
}
else
sum+=x;
if (best<sum)
{
best=sum;
start=aux;
end=i;
}
}
printf("%ld %ld %ld\n",best,start,end);
return 0;
}