#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 500500;
int a[N], b[N];
int n;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
cin >> n;
for (int i = 1;i <= n;i++) cin >> a[i];
for (int i = 1;i <= n;i++) cin >> b[i];
int q;
cin >> q;
while (q--) {
vector<pair<int, int>> v;
int l, r;
cin >> l >> r;
for (int i = l;i <= r;i++) {
v.push_back({ b[i], 1 });
v.push_back({ a[i], -1 });
}
sort(v.begin(), v.end());
bool ch = 1;
stack<int> st;
for (auto& [x, w] : v) {
if (w == 1) st.push(0);
else {
int val = st.top();
st.pop();
if (val == 0 && st.empty()) {
ch = 0;
break;
}
if (!st.empty()) {
st.pop();
st.push(1);
}
}
}
if (ch) cout << "Yes\n";
else cout << "No\n";
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |