Pagini recente » Cod sursa (job #692677) | Cod sursa (job #934920) | Cod sursa (job #1945142) | Cod sursa (job #2774332) | Cod sursa (job #1438203)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#define nmax 6000001
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int s[nmax], pivot, mx, ltL, ltR, limitL, limitR;
vector <pair <int, int> > sum;
int main()
{
int n;
f >> n;
for (int i = 1; i <= n; i++) {
int x;
f >> x;
s[i] = s[i-1] + x;
sum.push_back(make_pair(s[i], i));
}
sort (sum.begin(), sum.end());
for (int i = 1; i <= n; i++) {
for (int j = 0; j <= sum.size() - 1; j++)
if (sum[j].second < i) {
pivot = s[i] - sum[j].first;
ltL = sum[j].second + 1;
ltR = i;
break;
}
if (mx < pivot) {
mx = pivot;
limitL = ltL;
limitR = ltR;
}
}
g << mx << " " << limitL << " " << limitR;
return 0;
}