Submission #1317545

#TimeUsernameProblemLanguageResultExecution timeMemory
1317545spetrTree (IOI24_tree)C++20
7 / 100
66 ms23324 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const ll mmod = 998244353; #define vl vector<long long> #define vll vector<vector<long long>> #define pl pair<long long, long long> #define vb vector<bool> vll tree; vl weights; vl c; vl parents; vl w; vl subs; ll p; pl dfs(ll v, ll p, ll l){ ll minimum = w[v]; ll idx = v; for (auto x : tree[v]){ if (subs[x] > l && x != p){ auto sub = dfs(x, v, l); if (sub.second < minimum){ minimum = sub.second; idx = sub.first; } } } return {idx, minimum}; } long long query(int L, int R){ if (L*p <= R){return L*p;} ll s = L*p + (L*p-R); return s; } void init(std::vector<int> P, std::vector<int> W){ for (ll i = 0; i < W.size(); i++){weights.push_back(W[i]);} p = 0; tree.resize(P.size()); for (ll i = 1; i < P.size(); i++){ tree[i].push_back(P[i]); tree[P[i]].push_back(i); } for (ll i = 0; i <P.size(); i++){ parents.push_back(P[i]); w.push_back(W[i]); } for (ll i = 1; i < tree.size(); i++){ if (tree[i].size() == 1){ p ++; } } } /*/int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); return 0; }/*/
#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...