Pagini recente » Cod sursa (job #3262599) | Cod sursa (job #2546405) | Cod sursa (job #2864923) | Cod sursa (job #2150230) | Cod sursa (job #2726510)
#include <bits/stdc++.h>
using namespace std;
int n, x, dp[6000100], minim;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main() {
fin.tie(0);
ios::sync_with_stdio(0);
int n, x;
fin >> n >> x;
dp[1] = x;
for (int i = 2; i <= n; ++i) {
fin >> x;
dp[i] = dp[i - 1] + x;
}
int beg, end, BEG, END;
if (min(dp[1], dp[2]) == dp[1]) {
minim = dp[1];
beg = 1;
}
else {
minim = dp[2];
beg = 2;
}
int best_sum = INT_MIN;
for (int dr = 3; dr <= n; ++dr) {
int sum = dp[dr] - minim;
if (sum > best_sum) {
best_sum = sum;
BEG = beg;
END = dr;
}
if (minim > dp[dr]) {
minim = dp[dr];
beg = dr;
}
}
fout << BEG + 1 << " " << END << " " << best_sum;
return 0;
}