Pagini recente » Cod sursa (job #2345310) | Cod sursa (job #2035633) | Cod sursa (job #367858) | Cod sursa (job #1300660) | Cod sursa (job #3308555)
#include <bits/stdc++.h>
using namespace std;
using int64 = long long;
const int N_MAX = 6e6;
const int64 myINF = 3e9;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int v[1 + N_MAX];
int main()
{
int n; fin >> n;
for (int i = 1; i <= n; i ++) fin >> v[i];
int64 sp = 0;
int64 min_sp = 0; int j = 1;
int64 answer = -myINF;
int left, right;
for (int i = 1; i <= n; i ++) {
sp += v[i];
if (sp - min_sp > answer) {
answer = sp - min_sp;
left = j;
right = i;
}
else if (sp - min_sp == answer && j < left) {
left = j;
right = i;
}
if (sp < min_sp) {
min_sp = sp;
j = i + 1;
}
}
fout << answer << " " << left << " " << right;
return 0;
}