187802025-11-04 17:57:59algoproFire on a Treecpp17Időlimit túllépés 60/1001.101s39544 KiB
// UUID: c98aff92-d023-4b50-b721-30bb16fc5ca1
#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});
    }
    vector<map<int,int>>cache(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) << " ";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
subtask235/35
3Elfogadva1ms316 KiB
4Elfogadva1ms508 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
subtask325/25
8Elfogadva1ms316 KiB
9Elfogadva2ms564 KiB
10Elfogadva2ms820 KiB
11Elfogadva4ms564 KiB
12Elfogadva2ms564 KiB
13Elfogadva2ms564 KiB
subtask40/40
14Elfogadva98ms14644 KiB
15Időlimit túllépés1.101s18816 KiB
16Elfogadva224ms39544 KiB
17Időlimit túllépés1.1s24172 KiB
18Elfogadva200ms25140 KiB
19Elfogadva317ms26680 KiB
20Időlimit túllépés1.082s24252 KiB
21Elfogadva261ms25140 KiB
22Elfogadva244ms26660 KiB