제출 #1313953

#제출 시각아이디문제언어결과실행 시간메모리
1313953nicolo_010트리 (IOI24_tree)C++20
7 / 100
58 ms23032 KiB
#include <bits/stdc++.h> #include "tree.h" using namespace std; using ll = long long; using pii = pair<int, int>; int n; std::vector<int> p, w; ll k; vector<vector<int>> adj; void dfs(int n, int p=-1) { bool leaf = true; for (auto x : adj[n]) { if (x==p) continue; leaf = false; dfs(x, n); } if (leaf) k++; } void init(std::vector<int> P, std::vector<int> W) { p = P; w = W; n = (int)p.size(); adj.assign(n, {}); for (int i=1; i<n; i++) { int a = i; int b = p[i]; adj[a].push_back(b); adj[b].push_back(a); } k=0; dfs(0); } long long query(int L, int R) { return k*L+(max(0ll, k*L-R)); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...