Submission #1216409

#TimeUsernameProblemLanguageResultExecution timeMemory
1216409hengliaoTree (IOI24_tree)C++20
0 / 100
54 ms24676 KiB
#include "tree.h" #include<bits/stdc++.h> using namespace std; #define F first #define S second #define pll pair<ll, ll> #define vll vector<ll> #define pb push_back typedef long long ll; namespace{ const ll mxN=2e5+5; ll n, l, r; ll sum[mxN]; multiset<pll> st[mxN]; ll ans; ll p[mxN]; vll adj[mxN]; ll w[mxN]; ll leafcnt; ll f, s; } void init(std::vector<int> P, std::vector<int> W) { n=W.size(); for(ll i=1;i<n;i++){ p[i]=P[i]; adj[p[i]].pb(i); } for(ll i=0;i<n;i++){ w[i]=W[i]; } leafcnt=0; for(ll i=0;i<n;i++){ if(adj[i].empty()){ f+=w[i]; } } for(ll i=0;i<n;i++){ if(!adj[i].empty()){ s+=w[i]*((ll) adj[i].size()-1); } } } long long query(int L, int R) { l=L; r=R; ll curans=f*l+s*r; return curans; }
#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...