Pagini recente » Cod sursa (job #2525012) | Cod sursa (job #321463) | Cod sursa (job #2988301) | Cod sursa (job #1425472) | Cod sursa (job #2278506)
#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);
int bestSum = INT_MIN, bestI = -1, bestJ = -1;
int currI = -1, currJ = -1;
for(int i = 1; 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;
}