Submission #1184906

#TimeUsernameProblemLanguageResultExecution timeMemory
1184906LuvidiTree (IOI24_tree)C++20
7 / 100
51 ms16820 KiB
#include "tree.h"
#include <bits/stdc++.h>
using namespace std;

#define ll long long

const int maxn=2e5;
vector<int> ch[maxn];
ll cl;
vector<ll> w;
int n;

void init(std::vector<int> p, std::vector<int> W) {
    n=p.size();
    for(int i:W)w.push_back(i);
    for(int i=1;i<n;i++)ch[p[i]].push_back(i);
    for(int i=0;i<n;i++)cl+=ch[i].empty();
}

long long query(int L, int R) {
    ll l=L,r=R;
    if(cl*l>r){
        return 2*cl*l-r;
    }else{
        return cl*l;
    }
}
#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...