Submission #889631

#TimeUsernameProblemLanguageResultExecution timeMemory
889631vjudge1Tourism (JOI23_tourism)C++17
5 / 100
5074 ms7760 KiB
#include <bits/stdc++.h> #define int long long #define all(x) x.begin(),x.end() #define ff first #define ss second #define pb push_back using namespace std; signed main(){ ios_base::sync_with_stdio(); cin.tie(0); int n,m,qq; cin>>n>>m>>qq; vector <int> g[n+1]; for(int i=0;i<n-1;i++){ int u,v; cin>>u>>v; g[u].pb(v); g[v].pb(u); } vector <int> c(m+1); for(int i=1;i<=m;i++){ cin>>c[i]; } queue <int> q; while(qq--){ int l,r; cin>>l>>r; set <int> st; if(l==r)st.insert(l); for(int i=l;i<r;i++){ vector <int> d(n+1,-1); vector <int> p(n+1); q.push(c[i]); d[c[i]]=1; while(!q.empty()){ int v=q.front(); q.pop(); for(auto to : g[v]){ if(d[to]==-1){ d[to]=1; p[to]=v; q.push(to); } } } int x=c[i+1]; st.insert(x);st.insert(c[i]); while(x!=c[i]){ x=p[x]; st.insert(x); } } cout<<st.size()<<"\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...
#Verdict Execution timeMemoryGrader output
Fetching results...