제출 #1291421

#제출 시각아이디문제언어결과실행 시간메모리
12914211otaCurtains (NOI23_curtains)C++20
0 / 100
1 ms584 KiB
#include <bits/stdc++.h> using namespace std; #define endl "\n" // #define int long long #define pii pair<int, int> #define ff first #define ss second #define entire(x) (x).begin(), (x).end() const int inf = 1e9; int32_t main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, m, q; cin >> n >> m >> q; vector<pii> curt(m); // [l, r] for (auto& [l, r] : curt) cin >> l >> r, l--, r--; sort(entire(curt)); vector<bool> ok(n, false); for (int i = 0; i < n; i++){ } auto isgood = [&](int s, int e){ int low = 0, high = m-1; while (low < high){ int mid = (low + high + 1) / 2; if (curt[mid].ff < s) low = mid; else if (curt[mid].ff == s and curt[mid].ss <= e) low = mid; else high = mid-1; } if (curt[low].ff != s) return false; int last = s; for (int i = low; i < m; i++){ if (curt[i].ff - last > 1) break; if (curt[i].ss <= e) last = max(last, curt[i].ss); } return (last == e); }; while (q--){ int s, e; cin >> s >> e; s--, e--; if (isgood(s, e)) cout << "YES" << endl; else cout << "NO" << endl; } return 0; }
#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...