Submission #1147432

#TimeUsernameProblemLanguageResultExecution timeMemory
1147432koukirocksGift Exchange (JOI24_ho_t4)C++20
8 / 100
30 ms3144 KiB
#include <bits/stdc++.h> #define F first #define S second #define speed ios_base::sync_with_stdio(0);cin.tie(0) #define all(x) x.begin()+1, x.end() using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; template<class T> using vvector = vector<vector<T>>; const ll oo = 0x3f3f3f3f3f3f3f3f; const ll INF = 0x3f3f3f3f; int main() { speed; int n; cin>>n; vector<pii> a(n+1),b(n+1); bool flag=false; vector<int> pre(n+1); for (int i=1;i<=n;i++) { cin>>a[i].F; a[i].S=i; } for (int i=1;i<=n;i++) { cin>>b[i].F; if (b[i].F==2*n-1) flag=true; b[i].S=i; if (i==1) continue; } vector<bool> lft(n+1),rt(n+1); for (int i=1;i<=n;i++) { if (i==1 or a[i-1].F<b[i].F) lft[i]=true; if ((i==n or a[i].F<b[i+1].F)) rt[i]=true; pre[i]=pre[i-1]+(lft[i] and rt[i]); } int q; cin>>q; while (q--) { int l,r; cin>>l>>r; if (lft[r] or rt[l]) cout<<"No\n"; else if (pre[r]-pre[l-1]) cout<<"No\n"; else cout<<"Yes\n"; } return 0; }
#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...