#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;
}
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()){
leafcnt++;
}
}
}
long long query(int L, int R) {
l=L;
r=R;
ll curans=leafcnt*l+max(leafcnt*l-r, 0LL);
return curans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |