Submission #1146532

#TimeUsernameProblemLanguageResultExecution timeMemory
1146532atharva_a_bCurtains (NOI23_curtains)C++17
0 / 100
2 ms328 KiB
#include <iostream>
#include <vector>

int main(void) {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int32_t n, m, q;
    std::cin >> n >> m >> q;

    int32_t l, r, k;
    std::vector<std::vector<bool>> possible(n, std::vector<bool>(n, false));

    while(m--) {
        std::cin >> l >> r;
        --l, --r;
        possible[l][r] = true;
    }

    for(l = 0; l < n; ++l) {
        for(r = l+1; r < n; ++r) {
            if(possible[l][r]) continue;
            for(k = l+1; k <= r; ++k) {
                if(possible[l][k-1] && possible[k][r]) {
                    possible[l][r] = true;
                    break;
                }
            }
        }
    }

    while(q--) {
        std::cin >> l >> r;
        --l, --r;
        std::cout << (possible[l][r] ? "YES\n" : "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...
#Verdict Execution timeMemoryGrader output
Fetching results...