Cod sursa(job #612483)
Utilizator | Data | 8 septembrie 2011 00:04:03 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include<stdio.h>
int main() {
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int V,n,i,incsp=0,inc=0,sf=0,sp=0;
int smax = -int(2e9);
scanf("%i",&n);
for(i=1;i<=n;i++) {
scanf("%i",&V);
if(sp+V<0) {sp=0; incsp=i+1; }
else {
sp+=V;
if(sp>smax) {
inc=incsp;
smax=sp;
sf=i; }
}
}
printf("%i %i %i",smax,inc,sf);
return 0;
}