#include "tree.h"
#include <stdio.h>
#define lol long long
using namespace std;
int n;
std::vector<int> p, w;
std::vector<bool> has;
int leavesCount;
void init(std::vector<int> P, std::vector<int> W) {
p = P;
w = W;
n = (int)p.size();
has = vector<bool>(n, false);
for (int i = 1; i < n; i++)
has[P[i]] = true;
for (int i = 0; i < n; i++)
leavesCount += !has[i];
}
long long query(int L, int R) {
//return n * (long long)(R - L);
lol sumLeaves = leavesCount * ((lol) L);
if (sumLeaves <= R) {
return sumLeaves;
} else {
return sumLeaves + (sumLeaves - R);
}
}
# | 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... |