Submission #1283537

#TimeUsernameProblemLanguageResultExecution timeMemory
1283537am_aadvikTriple Jump (JOI19_jumps)C++20
5 / 100
4091 ms6288 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#define int long long
using namespace std;

int32_t 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(), 600ll); ++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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...