Pagini recente » Cod sursa (job #2119171) | Cod sursa (job #1259297) | Cod sursa (job #3152739) | Cod sursa (job #2688512) | Cod sursa (job #2278505)
#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< int > dp(n + 1, 0);
dp[1] = v[1];
int bestSum = v[1], bestI = 1, bestJ = 1;
int currI = 1, currJ = 1;
for(int i = 2; i <= n; ++i) {
if(dp[i - 1] + v[i] > v[i]) {
dp[i] = dp[i - 1] + v[i];
++currJ;
} else {
dp[i] = v[i];
currI = i;
currJ = i;
}
if(dp[i] > bestSum) {
bestSum = dp[i];
bestI = currI;
bestJ = currJ;
}
}
out << bestSum << " " << bestI << " " << bestJ << "\n";
in.close(); out.close();
return 0;
}