// #include <me>
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define pb push_back
#define int long long
#define fi first
#define se second
const int N = 3e5 + 5, M = 1e9 + 7, LG = 20;
int n , m , q , l , r;
void solve(){
cin >> n >> m >> q;
bool dp[n+1][n+1] = {};
vector<pair<int,int>> s;
for (int i = 1 ; i <= m ; i++){
cin >> l >> r;
dp[l][r] = 1;
s.pb({r , l});
}
sort(s.begin() , s.end());
l = 0;
for (int j = 1 ; j <= n ; j++){
for (int i = 1 ; i <= j ; i++){
// cout << i << ' ' << j << ' ' << l << endl;
if (l < s.size() && i <= s[l].se && s[l].fi == j){
dp[i][j] |= dp[i][s[l].se - 1];
}
if (s[l].se == i && s[l].fi == j){
l++;
}
}
}
while(q--){
cin >> l >> r;
// cout << dp[l][r] << endl;
if (dp[l][r]){
cout << "YES" << endl;
}else{
cout << "NO" << endl;
}
}
}
signed main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int ts = 1;
// cin >> ts;
while(ts--){
solve();
}
}
# | 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... |