Submission #1245452

#TimeUsernameProblemLanguageResultExecution timeMemory
1245452RecursiveCoGift Exchange (JOI24_ho_t4)C++20
50 / 100
2592 ms5624 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define in(i) cin >> i #define out(o) cout << o // vector<int> signed main() { ios_base::sync_with_stdio(false); cin.tie(0); int N; in(N); vector<int> A(N); vector<int> B(N); for (int i = 0; i < N; ++i) in(A[i]); for (int i = 0; i < N; ++i) in(B[i]); int Q; in(Q); for (int i = 0; i < Q; ++i) { int l, r; in(l); in(r); --l; --r; vector<pair<int, int>> sorted; for (int j = l; j <= r; ++j) sorted.push_back({A[j], B[j]}); sort(sorted.begin(), sorted.end()); int s = sorted.size(); bool can = true; int minB = 3 * N; for (int j = s - 1; j >= 0; --j) { bool satisfied = false; int a = sorted[j].first; int b = sorted[j].second; if (j != s - 1 && a >= minB) satisfied = true; minB = min(minB, b); if (j && sorted[j - 1].first >= minB) satisfied = true; if (!satisfied) can = false; } if (can) out("Yes"); else out("No"); out("\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...