Cod sursa(job #264107)
Utilizator | Data | 21 februarie 2009 14:29:07 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <cstdio>
int main() {
int N,max = 1<<31,lmax,rmax;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&N);
for(int l=0,s=0,v,i=0;i<N;++i) {
scanf("%d",&v);
s < 0 ? s = v, l = i : s += v;
if(s > max) max = s,lmax = l,rmax = i;
}
printf("%d %d %d",max,lmax+1,rmax+1);
}