| 18781 | 2025-11-04 17:58:20 | algopro | Fire on a Tree | cpp17 | Time limit exceeded 60/100 | 1.1s | 31076 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) << " ";
}
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 1ms | 508 KiB | ||||
| subtask2 | 35/35 | ||||||
| 3 | Accepted | 1ms | 316 KiB | ||||
| 4 | Accepted | 1ms | 316 KiB | ||||
| 5 | Accepted | 1ms | 316 KiB | ||||
| 6 | Accepted | 1ms | 316 KiB | ||||
| 7 | Accepted | 1ms | 508 KiB | ||||
| subtask3 | 25/25 | ||||||
| 8 | Accepted | 1ms | 316 KiB | ||||
| 9 | Accepted | 2ms | 316 KiB | ||||
| 10 | Accepted | 2ms | 564 KiB | ||||
| 11 | Accepted | 4ms | 564 KiB | ||||
| 12 | Accepted | 2ms | 380 KiB | ||||
| 13 | Accepted | 2ms | 564 KiB | ||||
| subtask4 | 0/40 | ||||||
| 14 | Accepted | 109ms | 9124 KiB | ||||
| 15 | Time limit exceeded | 1.1s | 11692 KiB | ||||
| 16 | Accepted | 171ms | 31076 KiB | ||||
| 17 | Time limit exceeded | 1.1s | 14604 KiB | ||||
| 18 | Accepted | 212ms | 16180 KiB | ||||
| 19 | Accepted | 207ms | 17204 KiB | ||||
| 20 | Time limit exceeded | 1.092s | 14756 KiB | ||||
| 21 | Accepted | 178ms | 15664 KiB | ||||
| 22 | Accepted | 206ms | 17228 KiB | ||||