Pagini recente » Cod sursa (job #2275368) | Cod sursa (job #647657) | Cod sursa (job #914943) | Cod sursa (job #341091) | Cod sursa (job #2097637)
#include <fstream>
#include <stack>
#include <algorithm>
#include <vector>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
const int NMAX = 6e6;
int a[NMAX + 2], dp[NMAX + 2], n;
int main() {
in >> n;
for (int i = 1; i <= n; ++i) {
in >> a[i];
dp[i] = dp[i - 1] + a[i];
}
int best = dp[1], worst = 0, first = 1, sum, last;
for (int i = 1; i <= n; ++i) {
sum = dp[i] - dp[first - 1];
if (sum > best) {
best = sum;
last = i;
}
if (sum < worst) {
worst = sum;
first = i + 1;
}
}
out << best << " " << first << " " << last << "\n";
return 0;
}