# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
122855 | tjd229 | Amusement Park (JOI17_amusement_park) | C++14 | 58 ms | 10992 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 "Joi.h"
#include <memory.h>
#include <vector>
using namespace std;
int wpos[10000];
vector<int> jedge[10000];
vector<int> jg[10000];
int jp[10000][15],jd[10000];
//climb
//lca
//dist
int jclimb(int x,int d) {
int step = 0;
while (d) {
if (d & 1) x = jp[x][step];
d >>= 1;
++step;
}
return x;
}
int jlca(int a,int b) {
if (jd[a] < jd[b]) b = jclimb(b,jd[b]-jd[a]);
else if (jd[a] > jd[b]) a = jclimb(a,jd[a]-jd[b]);
if (a == b) return a;
for (int j = 14; j >= 0; --j) {
if (jp[a][j] != jp[b][j]) {
a = jp[a][j];
b = jp[b][j];
}
}
Compilation message (stderr)
# | 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... |