Pagini recente » Cod sursa (job #3228806) | Cod sursa (job #53516) | Cod sursa (job #717338) | Cod sursa (job #1342905) | Cod sursa (job #2762116)
#include <fstream>
#define INT_MIN -2147483648
using namespace std;
int partial_sum[6000001], v[6000001];
int main() {
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n;
fin >> n;
for (int i = 1; i <= n; ++i) {
fin >> v[i];
partial_sum[i] = partial_sum[i - 1] + v[i];
}
int max_val = INT_MIN, start_pos = 1, end_pos = 1;
for (int i = 1; i <= n; ++i) {
for (int j = 0; j < i; ++j) {
if ((partial_sum[i] - partial_sum[j] > max_val) || (partial_sum[i] - partial_sum[j] == max_val && (j + 1 < start_pos || (j + 1 == start_pos && i - j < end_pos - start_pos + 1)))) {
max_val = partial_sum[i] - partial_sum[j];
start_pos = j + 1;
end_pos = i;
}
}
}
fout << max_val << " " << start_pos << " " << end_pos;
return 0;
}