Submission #1272314

#TimeUsernameProblemLanguageResultExecution timeMemory
1272314goulthenGift Exchange (JOI24_ho_t4)C++20
10 / 100
2592 ms4080 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define ll long long
#define rep(i,a,b) for (int i = a; i <= b; i++)
#define per(i,a,b) for (int i = a; i >= b; i--)
#define fi first
#define se second
#define pii pair<int,int>
#define pb push_back
#define all(v) (v).begin(), (v).end()

const int MAXN = 5e5+10;
const int INF = 1e18 + 5;
const int MOD = 1e9+7;
int a[MAXN], b[MAXN];

void solve() {
	int n,q;cin >> n;
	rep(i,1,n) cin >> a[i];
	rep(i,1,n) cin >> b[i];
	cin >> q;

	while (q--) {
		int l,r;cin >> l >> r;
		vector<int> ai,bi;
		rep(i,l,r) {
			ai.pb(a[i]);
			bi.pb(b[i]);
		}
		sort(all(ai));
		sort(all(bi));
		bool ok = 1;
		per(i,r-l+1,2) {
			int x = bi[i-1];
			if (ai[i-2] <= x) {
				ok = 0;
				break;
			}
			ai.pop_back();
		}

		cout << (ok?"Yes\n":"No\n");
	}
}

int32_t main() {
	ios_base::sync_with_stdio(0); cin.tie(nullptr);
	int tt = 1;
	//cin >> tt;

	while (tt--) solve();
	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...