Submission #1346571

#TimeUsernameProblemLanguageResultExecution timeMemory
1346571nezuko2410Curtains (NOI23_curtains)C++20
0 / 100
1 ms836 KiB
#include <bits/stdc++.h>
#define fi first
#define se second
using namespace std;
const int N=5e5+10;
int n,m,q,s[N],e[N],a[2005][2005],x,i,j;
vector<pair<int,int>>v;
int main() {
    cin>>n>>m>>q;
    v.resize(m);
    for (i=0; i<m; i++)
        cin>>v[i].fi>>v[i].se;
    sort(v.begin(),v.end());
    for (i=0; i<q; i++)
        cin>>s[i]>>e[i];
    if (n<=2000 && m<=2000 && q<=2000) {
        for (i=0; i<m; i++) {
            x=v[i].se;
            for (j=i; j<m; j++) {
                if (v[j].fi<=x+1) {
                    x=v[j].se;
                    a[v[i].fi][x]=1;
                }
                else
                    break;
            }
        }
        for (i=0; i<q; i++)
            if (a[s[i]][e[i]]==1)
                cout<<"YES"<<"\n";
            else
                cout<<"NO"<<"\n";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...