Submission #1265536

#TimeUsernameProblemLanguageResultExecution timeMemory
1265536Robert_juniorGift Exchange (JOI24_ho_t4)C++20
50 / 100
2596 ms13252 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; vector<pair<int, int>>v; for(int i = l; i <= r; i++){ s.ins(a[i]); v.pb({b[i], a[i]}); v.pb({a[i], 0}); } sort(all(v)); reverse(all(v)); int cur = 0, lst = 0; string ans = "Yes\n"; for(auto it : v){ if(it.S == 0){ cur++; } else{ cur--; if(!cur && lst == it.S){ ans = "No\n"; } if(cur < 0){ ans = "No\n"; } } lst = it.F; } 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...