#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |