제출 #1235256

#제출 시각아이디문제언어결과실행 시간메모리
1235256dssfsuper2Spring cleaning (CEOI20_cleaning)C++20
0 / 100
1098 ms44656 KiB
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> adj;
signed main(){
    int n, q;cin>>n>>q;
    adj.resize(n+1);
    for(int i = 0;i<n-1;i++){
        int a,b;cin>>a>>b;
        adj[a].push_back(b);
        adj[b].push_back(a);
    }
    vector<int> values;
    for(int i = 0;i<q;i++){
        values.assign(n, 0);
        int di;cin>>di;
        for(int i = 0;i<di;i++){
            int x;cin>>x;values[x-1]++;
        }
        for(auto thing:values)cout << thing << ' ';
        cout << '\n';
        int total=n-1;
        vector<int> ones;
        for(int i = 0;i<n;i++){
            total+=values[i]-(values[i]&1);
            values[i]=values[i]&1;
            if(values[i]&1)ones.push_back(i);
        }
        if((int)ones.size()%2==1){
            cout << -1 << '\n';
            continue;
        }
        for(int i =0;i<ones.size();i+=2){
            total+=ones[i+1]-ones[i]+2;
        }
        cout << total << '\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...
#Verdict Execution timeMemoryGrader output
Fetching results...