Submission #921038

#TimeUsernameProblemLanguageResultExecution timeMemory
921038itslqTrampoline (info1cup20_trampoline)C++17
73 / 100
2067 ms16244 KiB
#include <bits/stdc++.h>
#include <unordered_map>
#include <unordered_set>
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    bool can;
    int R, C, T, N, x, y, a, b;
    cin >> R >> C >> N;

    unordered_map<int, vector<int>> green;
    unordered_set<int> tosort;

    while (N--) {
        cin >> x >> y;
        green[x].push_back(y);
        tosort.insert(x);
    }

    for (int n: tosort) {
        sort(green[n].begin(), green[n].end());
    }

    cin >> T;

    while (T--) {
        can = 1;
        cin >> x >> y >> a >> b;

        if (a < x || b < y) {
            cout << "No\n";
            continue;
        }

        for (; x < a; x++) {
            if (green.find(x) == green.end()) {
                can = 0;
                cout << "No\n";
                break;
            }

            auto it = lower_bound(green[x].begin(), green[x].end(), y);
            if (it == green[x].end()) {
                can = 0;
                cout << "No\n";
                break;
            } else if ((y = *it) > b) {
                can = 0;
                cout << "No\n";
                break;
            }
        }

        if (can) {
            cout << "Yes\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...