# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1249241 | Bui_Quoc_Cuong | Gift Exchange (JOI24_ho_t4) | C++20 | 2593 ms | 3852 KiB |
#include <bits/stdc++.h>
using namespace std;
// #define int long long
using ll = long long;
const int maxN = 5e5 + 5;
int n, q;
int a[maxN], b[maxN];
void init () {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
for (int i = 1; i <= n; i++) {
cin >> b[i];
}
cin >> q;
}
namespace sub1 {
void solve() {
while (q--) {
int l, r; cin >> l >> r;
vector <array <int, 2>> sortedA, sortedB;
for (int i = l; i <= r; i++) {
sortedA.push_back({a[i], i});
sortedB.push_back({b[i], i});
}
sort(sortedA.begin(), sortedA.end());
sort(sortedB.begin(), sortedB.end());
set <int> se;
bool ans = 1;
int _j = 0;
for (int _i = 0; _i < (int)sortedA.size(); _i++) {
while (_j < (int)sortedB.size() && sortedB[_j][0] <= sortedA[_i][0]) {
se.insert(sortedB[_j][1]);
_j++;
}
if (se.empty()) {
ans = 0;
break;
}
auto it = se.rbegin();
if (*it == sortedA[_i][1]) {
if (se.size() < 2) {
ans = 0;
break;
} else {
auto it = se.end();
it--; it--;
se.erase(*it);
}
} else {
se.erase(*it);
}
}
cout << (ans ? "Yes" : "No") << "\n";
}
}
}
void process () {
return sub1 :: solve();
}
signed main () {
ios_base :: sync_with_stdio(0); cin.tie(0);
#define taskname "JOI24_ho_t4"
if (fopen(taskname".inp", "r")) {
freopen(taskname".inp", "r", stdin);
freopen(taskname".out", "w", stdout);
}
init();
process();
return 0;
}
Compilation message (stderr)
# | 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... |