Submission #1151095

#TimeUsernameProblemLanguageResultExecution timeMemory
1151095ZicrusTree (IOI24_tree)C++20
7 / 100
41 ms6292 KiB
#include <bits/stdc++.h>
#include "tree.h"
using namespace std;

typedef long long ll;

int n;
vector<int> p, w;
vector<bool> leaf;
ll leaves;

void init(vector<int> P, vector<int> W) {
    p = P;
    w = W;
    n = (int)p.size();
    leaf = vector<bool>(n, true);
    leaves = n;
    for (auto &e : p) {
        if (e == -1) continue;
        leaves -= leaf[e];
        leaf[e] = false;
    }
}

ll query(int L, int R) {
    ll leafStuff = leaves * L;
    if (leafStuff > R) {
        return 2*leafStuff - R;
    }
    return leafStuff;
}
#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...