Mai intai trebuie sa te autentifici.
Cod sursa(job #1494971)
| Utilizator | Data | 2 octombrie 2015 09:25:44 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <cstdio>
#define nmx 6000000
using namespace std;
int n,v[nmx],best = -1,Min = 0,Last,Beg,End;
int main() {
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d", &n);
for(int i = 1; i <= n; ++i) {
scanf("%d", &v[i]);
v[i] += v[i-1];
if(v[i] - Min > best) {
best = v[i] - Min;
Beg = Last + 1;
End = i;
}
if(v[i] < Min){
Min = v[i];
Last = i;
}
}
printf("%d %d %d\n", best, Beg, End);
return 0;
}
