187822025-11-04 18:00:18algoproFire on a Treecpp17Time limit exceeded 60/1001.093s25612 KiB
// UUID: e5b67693-7937-422b-abc3-2dcb004279fe
#include <bits/stdc++.h>
using namespace std;
#define int long long


int n;
vector<vector<pair<int,int>>>adj;

int 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;
};

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin >> n;
    adj.resize(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});
    }


    for(int i = 0; i < n; i++){
        cout << dfs(i, -1) << " ";
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted1ms316 KiB
subtask235/35
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Accepted1ms368 KiB
6Accepted1ms316 KiB
7Accepted1ms316 KiB
subtask325/25
8Accepted2ms316 KiB
9Accepted2ms316 KiB
10Accepted2ms564 KiB
11Accepted4ms564 KiB
12Accepted2ms564 KiB
13Accepted2ms564 KiB
subtask40/40
14Accepted104ms9276 KiB
15Time limit exceeded1.077s11704 KiB
16Accepted206ms25612 KiB
17Time limit exceeded1.077s14756 KiB
18Accepted261ms16180 KiB
19Accepted277ms17204 KiB
20Time limit exceeded1.093s14756 KiB
21Accepted204ms15700 KiB
22Accepted234ms17204 KiB