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
AC × 3
AC × 14
AC × 26
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