Pagini recente » Cod sursa (job #2751739) | Cod sursa (job #2066299) | Cod sursa (job #1647861) | Cod sursa (job #1421879) | Cod sursa (job #2848381)
#include <iostream>
#include <fstream>
using namespace std;
int n, st, dr, v[6000001], s[6000001];
int main() {
ifstream fin("ssm.in");
ofstream fout("ssm.out");
fin >> n;
for (int i = 1; i <= n; ++i) {
fin >> v[i];
s[i] = s[i - 1] + v[i];
s[0] = min(s[0], s[i]);
}
fout << s[0] << endl;
for (int i = n; i > 0; --i) {
if (s[0] <= s[i] && v[i] >= v[dr]) {
s[0] = s[i];
dr = i;
}
}
st = dr;
for (int i = dr; i > 0; --i) {
if (s[0] > s[i] || (v[i] < v[st] && s[0] == s[i])) {
s[0] = s[i];
st = i;
}
}
fout << s[dr] - s[st++] << ' ' << st << ' ' << dr;
return 0;
}