#include <bits/stdc++.h>
using namespace std;
const int nx=2e3+5;
int n, m, q, dp[nx][nx], l, r, mn[nx], lst;
set<int> s[nx];
int main()
{
cin.tie(NULL)->sync_with_stdio(false);
cin>>n>>m>>q;
for (int i=1; i<=n; i++) mn[i]=1e9;
for (int i=1; i<=m; i++) cin>>l>>r, s[r].insert(l), mn[l]=min(mn[l], r);
for (int st=1; st<=n; st++)
{
if (mn[st]<=n) dp[st][mn[st]]=1;
lst=mn[st];
for (int i=mn[st]+1; i<=n; i++)
{
auto itr=s[i].lower_bound(st);
if (itr!=s[i].end()&&*itr<=lst+1)
{
lst=i;
dp[st][i]=1;
}
}
}
while (q--)
{
cin>>l>>r;
if (dp[l][r]) cout<<"YES\n";
else cout<<"NO\n";
}
}
# | 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... |