Submission #1214223

#TimeUsernameProblemLanguageResultExecution timeMemory
1214223trimkusGift Exchange (JOI24_ho_t4)C++20
0 / 100
2596 ms6532 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector<int> a(n), b(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } for (auto& x : b) cin >> x; int q; cin >> q; while (q--) { int l, r; cin >> l >> r; --l; --r; set<int> pool; vector<int> ord; for (int i = l; i <= r; ++i) { ord.push_back(i); pool.insert(a[i]); } sort(begin(ord), end(ord), [&](int x, int y) { return b[x] > b[y]; }); //~ cerr << "\nStarting query: [" << l << " , " << r << "]:\n"; bool ok = true; for (int i = 0; i < (int)ord.size(); ++i) { int j = ord[i]; auto it = pool.lower_bound(b[j]); if (it == pool.end()) { ok = false; break; } if (*it == a[j]) { it++; } if (it == pool.end()) { ok = false; break; } pool.erase(it); } cout << (ok ? "Yes\n" : "No\n"); } }
#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...