#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pll pair<ll, ll>
#define pii pair<int, int>
#define fs first
#define sc second
#define pb push_back
const int maxn=5e5;
int seg[4*maxn];
pii lzy[4*maxn];
pii mrg(pii p1,pii p2){
    if(!p1.sc)return p2;
    if(p1.sc>=p2.fs)return {min(p1.fs,p2.fs),p2.sc};
    return p1;
}
void prop(int v){
    if(lzy[v].sc){
        lzy[2*v+1]=mrg(lzy[2*v+1],lzy[v]);
        lzy[2*v+2]=mrg(lzy[2*v+2],lzy[v]);
        lzy[v]={0,0};
    }
}
void upd(int v,int l,int r,int l2,int r2,pii p){
    if(l>r2||r<l2)return;
    if(l2<=l&&r<=r2){
        lzy[v]=mrg(lzy[v],p);
        return;
    }
    int m=(l+r)/2;
    prop(v);
    upd(2*v+1,l,m,l2,r2,p);
    upd(2*v+2,m+1,r,l2,r2,p);
}
void upd2(int v,int l,int r,int i,int x){
    if(i<l||i>r)return;
    if(l==r){
        seg[v]=x;
        lzy[v]={0,0};
        return;
    }
    int m=(l+r)/2;
    prop(v);
    upd2(2*v+1,l,m,i,x);
    upd2(2*v+2,m+1,r,i,x);
}
int get(int v,int l,int r,int i){
    if(l==r){
        if(lzy[v].sc&&seg[v]>=lzy[v].fs)seg[v]=lzy[v].sc;
        return seg[v];
    }
    int m=(l+r)/2;
    prop(v);
    if(i<=m)return get(2*v+1,l,m,i);
    return get(2*v+2,m+1,r,i);
}
void solve() {
    int n,m,q;
    cin>>n>>m>>q;
    vector<int> a[n+1];
    while(m--){
        int l,r;
        cin>>l>>r;
        a[r].pb(l);
    }
    int ans[q];
    vector<pii> qry[n+1];
    bool b=1;
    for(int i=0;i<q;i++){
        int l,r;
        cin>>l>>r;
        b&=l==1;
        qry[r].pb({l,i});
    }
    for(int i=0;i<=4*n;i++)seg[i]=-1;
    for(int i=1;i<=n;i++){
        for(int l:a[i]){
            upd2(0,1,n,l,i);
            upd(0,1,n,1,l,{l-1,i});
        }
        for(auto[l,idx]:qry[i]){
            ans[idx]=get(0,1,n,l)==i;
        }
    }
    for(int i=0;i<q;i++){
        if(ans[i])cout<<"YES\n";
        else cout<<"NO\n";
    }
}
int main() {
    #ifdef FPO
        freopen("in","r",stdin);
        freopen("out","w",stdout);
    #endif
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    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... |