#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e5+10;
int a[N],b[N],sz=0;
pair<int,int> tmp1[N],tmp[N];
bool recur(int l,int r)
{
if(l==r)
return 0;
bool ans=a[tmp1[l].second]>tmp1[r].first;
for(int j=l;j<r and !ans;j++)
{
// if(!recur(l,j))
// {break;}
if(recur(l,j) and recur(j+1,r))
{
return 1;
}
}
return ans;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
ll n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
cin>>b[i];
}
ll q;
cin>>q;
while(q--)
{
ll l,r;
cin>>l>>r;
vector<int> ord;
for(int i=l;i<=r;i++)
{
ord.push_back(i);
}
bool pos=0;
do
{
pos=1;
// cout<<"ot"<<endl;
for(int j=0;j<ord.size();j++)
{
// cout<<ord[j]<<' '<<j+l<<endl;
// cout<<a[ord[j]]<<' '<<b[j+l]<<endl;
if(ord[j]==l+j)pos=0;
if(a[ord[j]]<b[l+j])
{
pos=0;
}
}
if(pos)
{
break;
}
}while(next_permutation(begin(ord),end(ord)));
cout<<(pos?"Yes":"No")<<endl;
}
}
// 5 3 6
// 1 2 4
| # | 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... |