#include<bits/stdc++.h>
using namespace std;
const int mxN=5e5;
int a[mxN], b[mxN], n, q;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n;
for(int i=0; i<n; i++)
cin>>a[i];
for(int i=0; i<n; i++)
cin>>b[i];
cin>>q;
while(q--) {
int l, r;
cin>>l>>r;
n=r-l+1;
l--, r--;
vector<pair<int, int>> v, v1;
for(int i=l; i<=r; i++)
v.push_back({a[i], i});
for(int i=l; i<=r; i++)
v1.push_back({b[i], i});
sort(v.begin(), v.end());
sort(v1.begin(), v1.end());
bool ok=1;
for(int i=1; i<n; i++) {
if(v[i].second==v1[i].second) {
ok&=(v[i-1].first>=v1[i].first);
} else {
ok&=(v[i].first>=v1[i].first);
}
}
if(v[0].second==v1[0].second)
ok&=(v[0].first>=v1[1].first&&v[1].first>=v[0].first);
else
ok&=(v[0].first>=v1[0].first);
cout<<(ok?"Yes\n":"No\n");
}
return 0;
}
//50
| # | 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... |