Cod sursa(job #411225)
| Utilizator | Data | 4 martie 2010 19:29:06 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include<stdio.h>
#define Nmax 6000001
long n,x,smax,s,d;
int main()
{ long i,j,sigma;
freopen("ssm.in","r",stdin);
scanf("%ld",&n);
scanf("%ld",&x);
smax=sigma=x;
s=1;d=1;
i=1;
for (j=2;j<=n;j++)
{ scanf("%ld",&x);
if (sigma<0)
{ sigma=x;i=j; }
else sigma+=x;
if (sigma>smax)
{ smax=sigma;s=i;d=j; }
}
freopen("ssm.out","w",stdout);
printf("%ld %ld %ld\n",smax,s,d);
return 0;
}
