#include <iostream>
#include <vector>
int main(void) {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int32_t n, m, q;
std::cin >> n >> m >> q;
int32_t l, r, k;
std::vector<std::vector<bool>> possible(n, std::vector<bool>(n, false));
while(m--) {
std::cin >> l >> r;
--l, --r;
possible[l][r] = true;
}
for(l = 0; l < n; ++l) {
for(r = l+1; r < n; ++r) {
if(possible[l][r]) continue;
for(k = l+1; k <= r; ++k) {
if(possible[l][k-1] && possible[k][r]) {
possible[l][r] = true;
break;
}
}
}
}
while(q--) {
std::cin >> l >> r;
--l, --r;
std::cout << (possible[l][r] ? "YES\n" : "NO\n");
}
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... |