#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    pair<int,int> a[n];
    for(int i=0;i<n;i++)cin>>a[i].first;
    for(int i=0;i<n;i++)cin>>a[i].second;
    int q;
    cin>>q;
    while(q--){
        int l,r;
        cin>>l>>r;
        l--;r--;
        vector<pair<int,int>> v;
        for(int i=l;i<=r;i++)v.push_back(a[i]);
        sort(v.begin(),v.end());
        int x=v.size();
        bool b=1;
        for(int i=v.size()-1;i>-1;i--){
            int y=lower_bound(v.begin(),v.end(),make_pair(v[i].second,0))-v.begin();
            if(i<x&&i==y){
                b=0;
                break;
            }
            x=min(x,y);
        }
        if(b)cout<<"Yes\n";
        else cout<<"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... |