Pagini recente » Cod sursa (job #2822752) | Cod sursa (job #366103) | Cod sursa (job #2864752) | Cod sursa (job #3247586) | Cod sursa (job #2278496)
#include <bits/stdc++.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int main() {
ios::sync_with_stdio(false); in.tie(0); out.tie(0);
int n; in >> n;
vector< int > v(n + 1, 0);
for(int i = 1; i <= n; ++i) {
in >> v[i];
}
vector< pair< int, int > > minSums(n + 1);
minSums[0] = {INT_MAX, -1};
for(int i = 1; i <= n; ++i) {
v[i] += v[i - 1];
minSums[i] = min(minSums[i - 1], {v[i], i});
}
int bestSum = v[1], bestI = 1, bestJ = 1;
for(int j = 1; j <= n; ++j) {
if(v[j] - minSums[j - 1].first > bestSum) {
bestSum = v[j] - minSums[j - 1].first;
bestI = minSums[j - 1].second;
bestJ = j;
}
}
out << bestSum << " " << bestI + 1 << " " << bestJ << "\n";
in.close(); out.close();
return 0;
}