187812025-11-04 17:58:20algoproFire on a Treecpp17Time limit exceeded 60/1001.1s31076 KiB
// UUID: 37be66b6-1480-4c24-9292-24667a89a24c
#include <bits/stdc++.h>
using namespace std;
#define int long long



signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin >> n;
    vector<vector<pair<int,int>>>adj(n);
    for(int i = 1; i < n; i++){
        int a,b;
        cin >> a >> b;
        adj[a].push_back({b,n});
        adj[b].push_back({a, n});
    }

    function<int(int,int)> dfs;
    dfs = [&](int cs, int p){
        int sum = 0, ln = 0;
        for(auto& [i, m] : adj[cs]){
            if(i != p){
                if(m == n)m = dfs(i,cs);
                sum += m;
                ln = max(ln, m);
            }
        }
        return sum - ln +1;
    };

    for(int i = 0; i < n; i++){
        cout << dfs(i, -1) << " ";
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted1ms508 KiB
subtask235/35
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Accepted1ms316 KiB
6Accepted1ms316 KiB
7Accepted1ms508 KiB
subtask325/25
8Accepted1ms316 KiB
9Accepted2ms316 KiB
10Accepted2ms564 KiB
11Accepted4ms564 KiB
12Accepted2ms380 KiB
13Accepted2ms564 KiB
subtask40/40
14Accepted109ms9124 KiB
15Time limit exceeded1.1s11692 KiB
16Accepted171ms31076 KiB
17Time limit exceeded1.1s14604 KiB
18Accepted212ms16180 KiB
19Accepted207ms17204 KiB
20Time limit exceeded1.092s14756 KiB
21Accepted178ms15664 KiB
22Accepted206ms17228 KiB