Submission #1279406

#TimeUsernameProblemLanguageResultExecution timeMemory
1279406muhammad-ahmadCurtains (NOI23_curtains)C++20
0 / 100
1595 ms12952 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define endl '\n' const int inf = 1e9; 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 &j : C[L[i][0] - 1]) C[i][j.first] |= j.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...