Submission #60136963
Source Code Expand
#include<bits/stdc++.h> #include"atcoder/all" using namespace std; using namespace atcoder; #define rep(i,n) for(int i=0;i<(n);i++) #define all(a) a.begin(),a.end() typedef long long ll; typedef vector<ll> vi; typedef pair<ll,ll> P; const ll mod=998244353; const ll inf=1ll<<61; typedef modint998244353 mi; int x[100160],y[100160]; int a[100160],b[100160]; vector<int>G[100160]; vector<P>Q[100160]; bitset<320>B[100160]; bool ans[100160]; int main(){ int n,m,q;cin>>n>>m>>q; rep(i,m){ cin>>x[i]>>y[i]; x[i]--;y[i]--; G[x[i]].push_back(y[i]); } rep(i,q){ cin>>a[i]>>b[i]; a[i]--;b[i]--; Q[a[i]].push_back({b[i],i}); } for(int i=0;i<n;i+=320){ rep(j,n)B[j].reset(); for(int j=0;j<320;j++)B[i+j].set(j); for(int j=i;j<n;j++){ for(auto &e:G[j]){ B[e]|=B[j]; } } for(int j=i;j<i+320;j++){ if(j>=n)break; for(auto &e:Q[j]){ if(B[e.first][j-i])ans[e.second]=true; else ans[e.second]=false; } } } rep(i,q){ if(ans[i])cout<<"Yes"<<endl; else cout<<"No"<<endl; } }
Submission Info
Submission Time | |
---|---|
Task | 059 - Many Graph Queries(★7) |
User | Rho17 |
Language | C++ 20 (gcc 12.2) |
Score | 7 |
Code Size | 1084 Byte |
Status | AC |
Exec Time | 381 ms |
Memory | 19624 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 | 2 ms | 3552 KiB |
sample02.txt | AC | 2 ms | 3588 KiB |
sample03.txt | AC | 2 ms | 3548 KiB |
subtask1_all_yes.txt | AC | 5 ms | 3912 KiB |
subtask1_max00.txt | AC | 5 ms | 4028 KiB |
subtask1_max01.txt | AC | 5 ms | 3972 KiB |
subtask1_max02.txt | AC | 6 ms | 3828 KiB |
subtask1_max03.txt | AC | 5 ms | 3800 KiB |
subtask1_max04.txt | AC | 5 ms | 3836 KiB |
subtask1_random00.txt | AC | 3 ms | 3636 KiB |
subtask1_random01.txt | AC | 5 ms | 3908 KiB |
subtask1_random02.txt | AC | 2 ms | 3592 KiB |
subtask1_random03.txt | AC | 4 ms | 3824 KiB |
subtask1_random04.txt | AC | 4 ms | 3908 KiB |
subtask2_all_yes.txt | AC | 303 ms | 19624 KiB |
subtask2_dense00.txt | AC | 52 ms | 5336 KiB |
subtask2_dense01.txt | AC | 45 ms | 5048 KiB |
subtask2_dense02.txt | AC | 105 ms | 6528 KiB |
subtask2_dense_max.txt | AC | 144 ms | 8596 KiB |
subtask2_max_random00.txt | AC | 372 ms | 18128 KiB |
subtask2_max_random01.txt | AC | 380 ms | 18288 KiB |
subtask2_max_random02.txt | AC | 375 ms | 18172 KiB |
subtask2_max_random03.txt | AC | 381 ms | 18096 KiB |
subtask2_max_random04.txt | AC | 374 ms | 18124 KiB |
subtask2_mid_dense00.txt | AC | 143 ms | 8720 KiB |
subtask2_mid_dense01.txt | AC | 159 ms | 9332 KiB |