Submission #1214229

#TimeUsernameProblemLanguageResultExecution timeMemory
1214229trimkusGift Exchange (JOI24_ho_t4)C++20
10 / 100
2594 ms2140 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; vector<int> pool; vector<int> ord; for (int i = l; i <= r; ++i) { ord.push_back(i); pool.push_back(a[i]); } sort(begin(pool), end(pool)); sort(begin(ord), end(ord), [&](int x, int y) { return b[x] > b[y]; }); //~ cerr << "\nStarting query: [" << l << " , " << r << "]:\n"; bool ok = true; //~ cerr << "Pool = "; //~ for (auto& u : pool) { //~ cerr << u << " "; //~ } //~ cerr << "\n"; for (int i = 0; i < (int)ord.size() - 1; ++i) { int j = ord[i]; int idx = upper_bound(begin(pool), end(pool), b[j]) - begin(pool); int left = (int)pool.size() - idx - i; //~ cerr << b[j] << " = " << left << "\n"; if (left <= 1) { ok = false; break; } } 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...