Submission #1284888

#TimeUsernameProblemLanguageResultExecution timeMemory
1284888Faisal_SaqibGift Exchange (JOI24_ho_t4)C++20
0 / 100
2595 ms1340 KiB
#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; if(l+1==r) return b[tmp1[r].second]<tmp1[l].first; bool ans=b[tmp1[r].second]<tmp1[l].first; for(int j=l;j<r and !ans;j++) { ans|=(recur(l,j)&recur(j+1,r)); } 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; sz=0; // set<pair<ll,ll>> tep; for(int i=l;i<=r;i++) { // tep.insert({a[i],i}); // tmp[++sz]=a[i]; tmp1[++sz]={a[i],i}; } // sort(tmp+1,tmp+sz+1); sort(tmp1+1,tmp1+sz+1); // int cur=2; // bool pos=(a[tmp1[1].second]>tmp1[sz].first); // for(int i=sz-2;i>=2;i--) // { // pos|=(a[tmp1[1].second]>tmp1[i].first and a[tmp1[i+1].second]>tmp1[sz].first); // } cout<<(recur(1,sz)?"Yes":"No")<<endl; } } // 5 3 6 // 1 2 4
#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...