Submission #70841254
Source Code Expand
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int N, M, Q;
cin >> N >> M >> Q;
vector<int> X(M), Y(M);
for (int i = 0; i < M; ++i) {
cin >> X[i] >> Y[i];
--X[i], --Y[i];
}
vector<int64_t> g(M);
for (int i = 0; i < M; ++i) {
g[i] = 1ll * Y[i] * N + X[i];
}
sort(g.begin(), g.end());
for (int i = 0; i < M; ++i) {
X[i] = g[i] % N;
Y[i] = g[i] / N;
}
vector<int> A(Q), B(Q);
for (int i = 0; i < Q; ++i) {
cin >> A[i] >> B[i];
--A[i], --B[i];
}
vector<uint64_t> dp;
for (int i = 0; i * 64 < Q; ++i) {
dp.assign(N, 0);
for (int j = i * 64; j < (i + 1) * 64 && j < Q; ++j) {
dp[A[j]] |= 1ull << (j - i * 64);
}
for (int j = 0; j < M; ++j) {
dp[Y[j]] |= dp[X[j]];
}
for (int j = i * 64; j < (i + 1) * 64 && j < Q; ++j) {
cout << (((dp[B[j]] >> (j - i * 64)) & 1) == 1 ? "Yes\n" : "No\n");
}
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | 059 - Many Graph Queries(★7) |
| User | lhc0707 |
| Language | C++ 20 (gcc 12.2) |
| Score | 7 |
| Code Size | 989 Byte |
| Status | AC |
| Exec Time | 368 ms |
| Memory | 6304 KiB |
Judge Result
| Set Name | Sample | Subtask1 | All | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 2 / 2 | 5 / 5 | ||||||
| Status |
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample01.txt, sample02.txt, sample03.txt |
| Subtask1 | sample01.txt, sample02.txt, sample03.txt, subtask1_all_yes.txt, subtask1_max00.txt, subtask1_max01.txt, subtask1_max02.txt, subtask1_max03.txt, subtask1_max04.txt, subtask1_random00.txt, subtask1_random01.txt, subtask1_random02.txt, subtask1_random03.txt, subtask1_random04.txt |
| All | sample01.txt, sample02.txt, sample03.txt, subtask1_all_yes.txt, subtask1_max00.txt, subtask1_max01.txt, subtask1_max02.txt, subtask1_max03.txt, subtask1_max04.txt, subtask1_random00.txt, subtask1_random01.txt, subtask1_random02.txt, subtask1_random03.txt, subtask1_random04.txt, subtask2_all_yes.txt, subtask2_dense00.txt, subtask2_dense01.txt, subtask2_dense02.txt, subtask2_dense_max.txt, subtask2_max_random00.txt, subtask2_max_random01.txt, subtask2_max_random02.txt, subtask2_max_random03.txt, subtask2_max_random04.txt, subtask2_mid_dense00.txt, subtask2_mid_dense01.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample01.txt | AC | 1 ms | 3428 KiB |
| sample02.txt | AC | 1 ms | 3420 KiB |
| sample03.txt | AC | 1 ms | 3432 KiB |
| subtask1_all_yes.txt | AC | 1 ms | 3552 KiB |
| subtask1_max00.txt | AC | 1 ms | 3676 KiB |
| subtask1_max01.txt | AC | 2 ms | 3532 KiB |
| subtask1_max02.txt | AC | 1 ms | 3484 KiB |
| subtask1_max03.txt | AC | 2 ms | 3540 KiB |
| subtask1_max04.txt | AC | 1 ms | 3540 KiB |
| subtask1_random00.txt | AC | 1 ms | 3504 KiB |
| subtask1_random01.txt | AC | 1 ms | 3420 KiB |
| subtask1_random02.txt | AC | 1 ms | 3440 KiB |
| subtask1_random03.txt | AC | 1 ms | 3512 KiB |
| subtask1_random04.txt | AC | 1 ms | 3492 KiB |
| subtask2_all_yes.txt | AC | 368 ms | 6304 KiB |
| subtask2_dense00.txt | AC | 68 ms | 4412 KiB |
| subtask2_dense01.txt | AC | 49 ms | 4124 KiB |
| subtask2_dense02.txt | AC | 99 ms | 4292 KiB |
| subtask2_dense_max.txt | AC | 303 ms | 5380 KiB |
| subtask2_max_random00.txt | AC | 210 ms | 6232 KiB |
| subtask2_max_random01.txt | AC | 208 ms | 6168 KiB |
| subtask2_max_random02.txt | AC | 208 ms | 6076 KiB |
| subtask2_max_random03.txt | AC | 210 ms | 6200 KiB |
| subtask2_max_random04.txt | AC | 208 ms | 6128 KiB |
| subtask2_mid_dense00.txt | AC | 303 ms | 5416 KiB |
| subtask2_mid_dense01.txt | AC | 238 ms | 5380 KiB |