Submission #1213770

#TimeUsernameProblemLanguageResultExecution timeMemory
1213770mdn2002Gift Exchange (JOI24_ho_t4)C++20
9 / 100
2593 ms1860 KiB
/* Mayoeba Yabureru */ #pragma GCC optimize("O3,unroll-loops") #include <bits/stdc++.h> using namespace std; void solve() { int n; cin >> n; vector a(n, 0), b = a, left(n, -1), right(n, n); for (int i = 0; i < n; i ++) cin >> a[i]; for (int i = 0; i < n; i ++) cin >> b[i]; for (int i = 0; i < n; i ++) { for (int j = 0; j < n; j ++) { if (i == j) continue; if (b[j] < b[i] && a[j] > b[i]) { if (j < i) left[i] = max(left[i], j); else right[i] = min(right[i], j); } if (b[i] < b[j] && a[i] > b[j]) { if (j < i) left[i] = max(left[i], j); else right[i] = min(right[i], j); } } } int q; cin >> q; while (q --) { int l, r, can = 1; cin >> l >> r; l --, r--; for (int i = l; i <= r; i ++) { if (left[i] < l && r < right[i]) can = 0; } if (can) cout << "Yes" << endl; else cout << "No" << endl; } } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int T = 1; for (int I = 1; I <= T; I++) { solve(); } }
#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...