Pagini recente » Cod sursa (job #2480013) | Cod sursa (job #2914694) | Cod sursa (job #2129269) | Cod sursa (job #2334709) | Cod sursa (job #2850809)
#include <iostream>
#include <fstream>
using namespace std;
int n, l, r, maxSum, v[6000001], bestSum[6000001];
int main() {
ifstream fin("ssm.in");
ofstream fout("ssm.out");
fin >> n;
for (int i = 1; i <= n; ++i) {
fin >> v[i];
bestSum[i] = max(v[i], v[i] + bestSum[i - 1]);
}
maxSum = bestSum[++r];
for (int i = 2; i <= n; ++i) {
if (maxSum < bestSum[i]) {
maxSum = bestSum[i];
r = i;
}
}
l = r;
while (l > 1 && bestSum[l - 1] > 0) {
--l;
}
fout << maxSum << ' ' << l << ' ' << r;
return 0;
}