Pagini recente » Cod sursa (job #695620) | Cod sursa (job #38132) | Cod sursa (job #1804439) | Cod sursa (job #1697217) | Cod sursa (job #2757293)
#include <cstdio>
#include <limits>
using namespace std;
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
int N;
scanf("%d", &N);
int bestStart, bestEnd;
int best = numeric_limits<int>::min();
int crtLeft = 1; // current sum's starting point
int crtSum = 0;
int crt;
for (int i = 1; i <= N; ++i) {
scanf("%d", &crt);
crtSum += crt;
if (crtSum < crt) {
crtSum = crt;
crtLeft = i;
}
if (crtSum > best) {
best = crtSum;
bestStart = crtLeft;
bestEnd = i;
}
}
printf("%d %d %d\n", best, bestStart, bestEnd);
return 0;
}