Pagini recente » Cod sursa (job #1444177) | Cod sursa (job #1852994) | Cod sursa (job #1065680) | Cod sursa (job #1350205) | Cod sursa (job #1963271)
#include <stdio.h>
#include <algorithm>
using namespace std;
#define MAX_N 6000005
int N, a[MAX_N];
int best, currBest, begIndex, endIndex, currBegIndex, currEndIndex;
int main () {
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf ("%d", &N);
scanf("%d", &a[1]);
best = currBest = a[1];
begIndex = endIndex = currBegIndex = currEndIndex = 1;
for (int i = 2; i <= N; i++) {
scanf("%d", &a[i]);
if (currBest >= 0) {
currBest += a[i];
currEndIndex = i;
} else {
currBest = a[i];
currBegIndex = currEndIndex = i;
}
if (currBest > best) {
best = currBest;
begIndex = currBegIndex;
endIndex = currEndIndex;
}
}
printf ("%d %d %d", best, begIndex, endIndex);
return 0;
}