Pagini recente » Monitorul de evaluare | Rezultatele filtrării | Diferente pentru problema/tygyn intre reviziile 6 si 7 | Rezultatele filtrării | Cod sursa (job #1318477)
#include <cstdio>
#include <algorithm>
using namespace std;
#define MAX 6000001
#define INF 1<<30
#define inFile "ssm.in"
#define outFile "ssm.out"
int main() {
freopen(inFile, "r", stdin);
freopen(outFile, "w", stdout);
int n, i, iStart, iEnd, iMin, elem, val, scurr, smin, sbest = -INF;
scurr = iStart = iEnd = iMin = smin = 0;
scanf("%d", &n);
for(i = 1; i <= n; i++) {
scanf("%d", &elem);
scurr += elem;
val = scurr - smin;
if(smin >= scurr) {
smin = scurr;
iMin = i;
}
if(sbest < val) {
sbest = val;
iStart = iMin + 1;
iEnd = i;
}
}
printf("%d %d %d\n", sbest, iStart, iEnd);
return 0;
}