#include<bits/stdc++.h>
#define int long long
using namespace std;
vector<vector<int>> adj;
signed main() {
int n, q; cin >> n >> q;
adj = vector<vector<int>>(n+1);
for(int i=1; i<n; i++) {
int a, b; cin >> a >> b;
adj[a].push_back(b);
adj[b].push_back(a);
}
while(q--) {
int d; cin >> d;
map<int, int> m;
for(int i=0; i<d; i++) {
int a; cin >> a;
m[a]++;
}
int leaves=n-1, ans=0;
if(n == 2) leaves++;
for(auto x : m) {
leaves--;
leaves+=x.second;
if(x.second%2 == 1) ans++;
ans+=x.second;
}
ans+=n-1-m.size();
if(leaves%2 == 1) cout << "-1\n";
else cout << ans << '\n';
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |