제출 #1273602

#제출 시각아이디문제언어결과실행 시간메모리
1273602mkkkkkkkk트리 (IOI24_tree)C++20
0 / 100
2095 ms27656 KiB
#include "tree.h" #include <bits/stdc++.h> using namespace std; vector<long long> adj[200001]; long long arr[200001],arr2[200001]; void dfs(long long i,long long& res,long long l,long long r) { long long sum=0; for(auto it : adj[i]) { dfs(it,res,l,r); sum+=arr2[it]; } if(adj[i].size()==0) { sum=l; res+=l*arr[i]; } if(sum>r) { long long br=sum-r; sum=r; res+=br*arr[i]; } arr2[i]=l; } void init(std::vector<int> P, std::vector<int> W) { for(int i=1;i<P.size();i++) { adj[P[i]].push_back(i); arr[i]=W[i]; } arr[0]=W[0]; } long long query(int L, int R) { long long res=0; dfs(0,res,L,R); return res; }
#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...