제출 #365922

#제출 시각아이디문제언어결과실행 시간메모리
365922Ahmad_HasanTrampoline (info1cup20_trampoline)C++17
43 / 100
186 ms3564 KiB
#include <bits/stdc++.h>
#define int long long
/**
     ||||||||||       |||||     |||||    ||||||||||
    |||||||||||||     |||||     |||||  |||||
   ||||     ||||||    |||||     |||||  |||||
  |||||||||||||||||   |||||||||||||||    ||||||||||
 |||||||||||||||||||  |||||||||||||||           |||||
 |||||         |||||  |||||     |||||           |||||
 |||||         |||||  |||||     |||||    ||||||||||
AHMED;HASSAN;SAEED;
*/

using namespace std;

int32_t main()
{
    /**ios_base::sync_with_stdio(0);
    cin.tie(0);      cout.tie(0);*/
    int r,c,n;
    cin>>r>>c>>n;
    vector<vector<int> >grs(r+5);
    for(int i=0;i<n;i++){
        int x,y;
        cin>>x>>y;
        grs[x].push_back(y);
    }
    for(int i=1;i<=r;i++)
        sort(grs[i].begin(),grs[i].end());
    int t;
    cin>>t;
    while(t--){
        int xs,ys,xe,ye;
        cin>>xs>>ys>>xe>>ye;
        int f=1;
        if(xs>xe||ys>ye){
            f=0;
        }
        while(xs!=xe){
            if(xs>xe||ys>ye){
                f=0;
                break;
            }
            vector<int>::iterator it=lower_bound(grs[xs].begin(),grs[xs].end(),ys);
            if(it==grs[xs].end()){
                f=0;
                break;
            }
            ys=*it;
            xs++;
            if(xs>xe||ys>ye){
                f=0;
                break;
            }

        }
        if(f)
            cout<<"Yes\n";
        else
            cout<<"No\n";

    }

    return 0;
}
#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...