# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
44730 | choikiwon | Synchronization (JOI13_synchronization) | C++17 | 172 ms | 75480 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;
int N, M, Q;
vector<int> adj[200010], U, V;
int D[100010];
vector<int> Time[200010];
map<int, int> dp1[200010], dp2[200010], chk;
void dfs0(int u, int p) {
for(int i = 0; i < adj[u].size(); i++) {
int e = adj[u][i];
int v = U[e] + V[e] - u;
if(v == p) continue;
dfs0(v, u);
}
chk.clear();
for(int i = 0; i < Time[u].size(); i++) {
int t = Time[u][i];
int e = D[t];
int v = U[e] + V[e] - u;
if(i) dp1[u][t] += dp1[u][ Time[u][i - 1] ];
if(v != p) {
if(chk.find(v) != chk.end()) {
dp1[u][t] -= 1 + dp1[v][ chk[v] ];
}
chk[v] = t;
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... |