Submission #1214241

#TimeUsernameProblemLanguageResultExecution timeMemory
1214241trimkusGift Exchange (JOI24_ho_t4)C++20
50 / 100
2592 ms4840 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;


int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n;
	cin >> n;
	vector<int> a(n), b(n);
	for (int i = 0; i < n; ++i) {
		cin >> a[i];
	}
	for (auto& x : b) cin >> x;
	int q;
	cin >> q;
	while (q--) {
		int l, r;
		cin >> l >> r;
		--l; --r;
		vector<array<int, 2>> intervals;
		for (int i = l; i <= r; ++i) {
			intervals.push_back({a[i], -(i + 1)});
			intervals.push_back({b[i], (i + 1)});
		}
		sort(begin(intervals), end(intervals));
		bool ok = true;
		int cnt = 0;
		for (int i = 0; i < (int)intervals.size(); ++i) {
			cnt += (intervals[i][1] < 0 ? +1 : -1);
			if (cnt == 0 && intervals[i][1] + intervals[i - 1][1] == 0) {
				ok = false;
				break;
			}
		}
		cout << (ok ? "Yes\n" : "No\n");
	}
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...