제출 #1200007

#제출 시각아이디문제언어결과실행 시간메모리
1200007zsomborGift Exchange (JOI24_ho_t4)C++20
50 / 100
2595 ms6212 KiB
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int n, q;
vector <int> a(6e5, 0);
vector <int> b(6e5, 0);
vector <int> x;
vector <int> y;

void solve() {
	int l, r;
	cin >> l >> r;
	x.resize(r - l + 1);
	y.resize(r - l + 1);
	for (int i = 0; i <= r - l; i++) {
		x[i] = a[l + i];
		y[i] = b[l + i];
	}
	sort(x.begin(), x.end());
	sort(y.begin(), y.end());
	for (int i = l; i <= r; i++) {
		int z = 0;
		z += lower_bound(x.begin(), x.end(), b[i]) - x.begin();
		z += y.end() - lower_bound(y.begin(), y.end(), a[i]);
		if (z == r - l) { cout << "No\n"; return; }
	}
	cout << "Yes\n";
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cin >> n;
	for (int i = 1; i <= n; i++) cin >> a[i];
	for (int i = 1; i <= n; i++) cin >> b[i];
	cin >> q;
	while (q--) solve();
}
#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...