#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;
}
int32_t i, d;
for(d = 1; d < n; ++d) {
for(i = 0; i+d < n; ++i) {
l = i, r = i+d;
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... |