This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll r , c , n , x , y , a, b, t;
    cin >> r>> c >> n ;
    int next[r+1][c+1] , grid[r+1][c+1]={0};
    for(int i = 0 ; i < n ; i++)
    {
        cin >> x>> y ;
        grid[x][y]=1;
    }
    for(int i = 1 ; i <= r ; i++)
    {
        x=c+1;
        for(int j = c; j>=1 ; j--)
        {
            if(grid[i][j])x=j;
            next[i][j]=x;
        }
    }
//    for(int i = 1 ; i <= r ; i++)
//    {
//        x=c+1;
//        for(int j = 1; j<=c ; j++)
//        {
//            cout << next[i][j]<< " ";
//        }
//        cout << "\n";
//    }
    cin >> t;
    while(t--)
    {
        cin>> x >> y >> a >> b ;
        if(x==a)
        {
            if(y<=b)
            {
                cout << "Yes\n";
            }
            else cout << "No\n";
            continue;
        }
        int j=y;
        int impos=1;
        for(int i = x ; i<a ; i++)
        {
            j=next[i][j];
            if(j>b)
            {
                impos=1;
                break;
            }
            if(i==a-1)
            {
                impos=0;
            }
        }
        if(impos)
        {
            cout << "No\n";
        }
        else cout << "Yes\n";
    }
    return 0;
}
| # | 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... |