# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
946305 | MinaRagy06 | Prize (CEOI22_prize) | C++17 | 2473 ms | 405192 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define SZ(x) (int) x.size()
const int N = 1'000'005;
struct tree {
int n, k, root;
vector<int> P, adj[N], gud;
bool vis[N];
int t;
int st[N], en[N], anc[N][20];
void dfs(int i, int p) {
if (SZ(gud) < k) gud.push_back(i);
anc[i][0] = p;
for (int j = 1; j < 20; j++) {
anc[i][j] = anc[anc[i][j - 1]][j - 1];
}
st[i] = t++;
for (auto nxt : adj[i]) {
dfs(nxt, i);
}
en[i] = t - 1;
}
void init(int _n, int _k, vector<int> &_p) {
n = _n, k = _k, P = _p;
for (int i = 1; i <= n; i++) {
vis[i] = 0;
if (P[i] == -1) {
root = i;
# | 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... |