#include <bits/stdc++.h>
#define F first
#define S second
using namespace std;
using ll = long long;
using pi = pair<int, int>;
using vi = vector<int>;
template<class T> bool ckmin(T& a, T b) { return b < a ? a = b, true : false; }
template<class T> bool ckmax(T& a, T b) { return a < b ? a = b, true : false; }
int main() {
ios::sync_with_stdio(0); cin.tie(0);
int n; cin >> n;
vector<int> a(n + 1), b(n + 1);
for (int i = 1; i <= n; ++i) cin >> a[i];
for (int i = 1; i <= n; ++i) cin >> b[i];
vector<int> sol(n + 1);
int q; cin >> q;
while (q--) {
int l, r; cin >> l >> r;
vector<pair<int, int>> va, vb;
for (int i = l; i <= r; ++i) va.push_back({a[i], i});
for (int i = l; i <= r; ++i) vb.push_back({b[i], i});
sort(va.begin(), va.end());
sort(vb.begin(), vb.end());
for (int i = 0; i+1 < va.size(); ++i) if (va[i].second == vb[i].second) swap(va[i], va[i + 1]);
if (va.back().second == vb.back().second) swap(va.back(), va[va.size() - 2]);
bool ok = 1;
for (int i = 0; i < va.size(); ++i) ok &= va[i].second != vb[i].second;
for (int i = 0; i < va.size(); ++i) ok &= va[i].first >= vb[i].first;
cout << (ok ? "Yes" : "No") << "\n";
}
}
# | 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... |
# | 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... |