Submission #1284823

#TimeUsernameProblemLanguageResultExecution timeMemory
1284823MuhammadSaramGift Exchange (JOI24_ho_t4)C++20
50 / 100
2593 ms5768 KiB
#include <bits/stdc++.h>

using namespace std;

#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define endl '\n'

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(NULL), cout.tie(NULL);
	
	int n;
	cin>>n;
	int a[n], b[n],ind[2*n+1];
	for (int i=0;i<n;i++)
		cin>>a[i],ind[a[i]]=i;
	for (int i=0;i<n;i++)
		cin>>b[i],ind[b[i]]=i;
	int q;
	cin>>q;
	while (q--)
	{
		int l,r;
		cin>>l>>r;l--;
		vector<pair<int,int>> v;
		for (int i=l;i<r;i++)
			v.push_back({a[i],1}), v.push_back({b[i],-1});
		sort(rall(v));
		int su=0,cnt=0;
		string ans="Yes";
		for (auto [x,i]:v)
		{
			su+=i, cnt++;
			if (!su && cnt==2)
				ans="No";
			if (!su) cnt=0;
		}
		cout<<ans<<endl;
	}
	
	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...