제출 #1231784

#제출 시각아이디문제언어결과실행 시간메모리
1231784khomeTrampoline (info1cup20_trampoline)C++20
11 / 100
2089 ms2828 KiB
#include <bits/stdc++.h>

using namespace std;
#define int long long

const int inf = 1e9;

void solve(){
    int r, c, n; cin >> r >> c >> n;
    vector<int> rc;

    for (int i = 0; i < n;i ++) {
        int x, y; cin >> x >> y;
        x--; y--;
        rc.push_back(x * c+ y);
    }

    sort(rc.begin(), rc.end());

    auto check = [&](int a, int b, int p, int q) -> bool {

        while (true) {
            auto it = *lower_bound(rc.begin(), rc.end(), a * c + b );
            int x = it / c, y = it % c;
            if (x != a)  break;
            a = x + 1;
            b = y;
            if (a >= p) break;
        }
        
        if (a == p && b <= q) return true;
        return false;
    };

    int t; cin >> t;
    for (int i = 0; i < t; i++) {
        int x, y, u, w; cin >> x >> y >> u >> w;
        if (check(x-1, y-1, u-1, w-1)) cout << "Yes" << endl;
        else cout << "No" << endl;
    }
    // auto it = upper_bound(rc.begin(), rc.end(), 11);
    // cout << *it << endl;

}

signed main(){
    cin.tie(0) -> sync_with_stdio(0);
    int t = 1;
    // cin >> t;
    while (t--)solve();
}
#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...