Submission #1326956

#TimeUsernameProblemLanguageResultExecution timeMemory
1326956jellybeanGift Exchange (JOI24_ho_t4)C++20
50 / 100
2594 ms8244 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
#define pb push_back
#define dd(x) cout<<#x<<" is "<<x<<endl;
#define dd2(x,y) cout<<#x<<" is "<<x<<" "<<#y<<" is "<<y<<endl;
typedef pair<int,int> pii;

signed main(){
	ios::sync_with_stdio(0); cin.tie(0);
	
	int n; cin>>n;
	int a[n], b[n];
	for(int i=0; i<n; i++) cin>>a[i];
	for(int i=0; i<n; i++) cin>>b[i];
	
	int q; cin>>q;
	while(q--){
		int l,r; cin>>l>>r;
		set<pii>s;
		l--; r--;
		for(int i=l; i<=r; i++){
			s.insert({b[i],a[i]});
		}
		auto it = s.begin();
		int cur = it->se, f = 0;
		s.erase(it);
		while(s.size()){
			auto tg = s.lower_bound({cur,0});
			if(tg == s.begin()){
				if(f == 0){
					break;
				} else {
					cur = tg->se;
					s.erase(tg);
					f = 0;
				}
			} else {
				tg--;
				cur = tg->se;
				s.erase(tg);
				f = 1;
			}
		}
		
		if(f) cout<<"Yes\n";
		else cout<<"No\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...