Submission #1265534

#TimeUsernameProblemLanguageResultExecution timeMemory
1265534Robert_juniorGift Exchange (JOI24_ho_t4)C++20
0 / 100
2593 ms6724 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pb push_back #define all(x) x.begin(), x.end() #define ins insert #define F first #define S second const int N = 5e5 + 7, mod = 998244353; int a[N], b[N]; void solve(){ int n, q; cin>>n; for(int i = 1; i <= n; i++){ cin>>a[i]; } for(int i = 1; i <= n; i++){ cin>>b[i]; } cin>>q; while(q--){ int l, r; cin>>l>>r; set<int>s, s1; for(int i = l; i <= r; i++){ s.ins(a[i]); } string ans = "Yes\n"; for(int i = l; i <= r; i++){ auto it = s.lower_bound(b[i]); if(it == s.end()){ //cout<<i<<' '; ans = "No\n"; } else if(*it == a[i]){ if(*it == *s.rbegin()){ auto it1 = s1.lower_bound(*it); if(s1.size() && it1 != s1.begin()){ it1--; int ok = *it1; s.erase(it); s.ins(ok); s1.erase(it1); } else{ ans = "No\n"; } } else{ it++; s1.ins(*it); s.erase(it); } } else{ s1.ins(*it); s.erase(it); } } cout<<ans; } } signed main(){ ios_base :: sync_with_stdio(false); cin.tie(0); //freopen("area.in", "r", stdin); //freopen("area.out", "w", stdout); int t = 1; //cin>>t; while(t--){ solve(); } }
#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...