Submission #793612

#TimeUsernameProblemLanguageResultExecution timeMemory
793612vjudge1Tourism (JOI23_tourism)C++17
0 / 100
1 ms596 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; const int N = 3e3 + 10; int n, m, q; vector<int> g[N]; int sm[N]; void calc(int s, int p) { for(int to : g[s]) { if(to == p) continue; calc(to, s); sm[s] += sm[to]; } } int main() { ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin >> n >> m >> q; for(int i = 0; i < n - 1; i++) { int u, v; cin >> u >> v; g[u].push_back(v); g[v].push_back(u); } vector<int> ver(m + 1); for(int i = 1; i <= m; i++) cin >> ver[i]; while(q --> 0) { int l, r; cin >> l >> r; for(int i = l; i <= r; i++) sm[ver[i]] = 1; calc(1, 1); int res = 1; for(int i = 1; i <= n; i++) { res += (sm[i] && sm[i] < r - l + 1); sm[i] = 0; } cout << res << '\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...