Mai intai trebuie sa te autentifici.
Cod sursa(job #596029)
| Utilizator | Data | 15 iunie 2011 15:10:02 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <cstdio>
#define MAXN 6000010
int main(){
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
int N, i, maxs, l, r, sum, pos;
static int S[MAXN];
scanf("%d", &N);
for(i=1; i<=N; i++)
scanf("%d", S+i);
maxs=-(1<<30); sum=0;
for(i=1; i<=N; i++){
if(sum < 0)
sum=S[i], pos=i;
else
sum+=S[i];
if(sum > maxs)
maxs=sum, l=pos, r=i;
}
printf("%d %d %d\n", maxs, l , r);
return 0;
}
