Cod sursa(job #1128720)
| Utilizator | Data | 27 februarie 2014 18:24:40 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <cstdio>
using namespace std;
int n, x, Nr, s, Max, pozi, pozf;
int main(){
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
Max = -100000000;
scanf("%d", &n);
for(int i = 1; i <= n; ++i){
scanf("%d", &x);
if(s < 0){
s = 0;
Nr = 0;
}
s += x;
++Nr;
if(s > Max){
Max = s;
pozf = i;
pozi = i - Nr + 1;
}
}
printf("%d %d %d", Max, pozi, pozf);
return 0;
}
