| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1286564 | wedonttalkanymore | Railway (BOI17_railway) | C++20 | 94 ms | 44664 KiB | 
#include <bits/stdc++.h>
/*
    Phia ben kia dai duong cung chi co
    Bo cat nang niu bien thoi
*/
using namespace std;
using ll = long long;
#define int long long
#define pii pair<ll, ll>
#define fi first
#define se second
const ll N = 2e5 + 5, inf = 1e18, mod = 1e9 + 7, block = 320, lim = 19;
int n, m, k;
vector <pii> adj[N];
int sum[N];
vector <int> pre[N];
map <int, int> mp[N];
vector <int> res;
void dfs(int u, int par) {
	for (auto [v, id] : adj[u]) {
		if (v != par) {
			dfs(v, u);
		}
	}
	for (auto [v, id] : adj[u]) {
		if (v != par) {
			if (mp[v].size() >= k) res.push_back(id);
			if (mp[u].size() < mp[v].size()) mp[u].swap(mp[v]);
			for (auto [x, val] : mp[v]) {
				mp[u][x] += val;
				if (mp[u][x] == sum[x]) mp[u].erase(x);
			}
		}
	}
	for (auto x : pre[u]) {
		mp[u][x]++;
		if (mp[u][x] == sum[x]) mp[u].erase(x);
	}
}
signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    if (fopen(".inp", "r")) {
        freopen(".inp", "r", stdin);
        freopen(".out", "w", stdout);
    }
    cin >> n >> m >> k;
    for (int i = 1; i < n; i++) {
    	int u, v;
    	cin >> u >> v;
    	adj[u].emplace_back(v, i);
    	adj[v].emplace_back(u, i);
	}
	for (int i = 1; i <= m; i++) {
		int x;
		cin >> x;
		sum[i] = x;
		for (int j = 1; j <= x; j++) {
			int tt;
			cin >> tt;
			pre[tt].push_back(i);
		}
	}
	dfs(1, 0);
	cout << res.size() << '\n';
	for (auto x : res) cout << x << ' ';
    return 0;
}
Compilation message (stderr)
| # | 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... | ||||
