Submission #1279414

#TimeUsernameProblemLanguageResultExecution timeMemory
1279414muhammad-ahmadCurtains (NOI23_curtains)C++20
3 / 100
1596 ms13300 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define endl '\n' const int inf = 1e18; signed main(){ int n, m, Q; cin >> n >> m >> Q; vector<int> L[n + 1]; map<int, bool> C[n + 1]; for (int i = 1; i <= m; i++){ int l, r; cin >> l >> r; C[r][l] = 1; L[r].push_back(l); } for (int i = 1; i <= n; i++){ L[i].push_back(i); } for (auto &i : L) sort(i.begin(), i.end()); for (int i = 1; i <= n; i++){ int siz = L[i].size(); if (siz == 1) continue; for (int j = 0; j < siz - 1; j++){ for (int k = L[i][j]; k < L[i][j + 1]; k++){ for (auto &[u, v] : C[k]){ if (u <= L[i][j]) C[i][u] |= v; } } for (auto &k : C[L[i][j] - 1]) C[i][k.first] |= k.second; } } for (int q = 1; q <= Q; q++){ int l, r; cin >> l >> r; cout << (C[r][l] ? "YES" : "NO") << endl; } }
#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...