#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL);
int n; cin >> n;
vector<int> a(n);
for (auto& x : a) cin >> x;
int q; cin >> q;
while (q--) {
int l, r, ans = 0; cin >> l >> r; --l, --r;
vector<pair<int, int>> arr;
for (int i = l; i <= r; ++i)
arr.push_back({ a[i], i });
sort(arr.begin(), arr.end(), greater<pair<int, int>>());
for (int k = 2; k < min((int)arr.size(), 20); ++k)
for (int j = 1; j < k; ++j)
for (int i = 0; i < j; ++i) {
vector<int> c = { arr[i].second,arr[j].second,arr[k].second };
sort(c.begin(), c.end());
if ((c[1] - c[0]) <= (c[2] - c[1]))
ans = max(ans, arr[i].first + arr[j].first + arr[k].first);
}
cout << ans << endl;
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |