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