Submission #1305797

#TimeUsernameProblemLanguageResultExecution timeMemory
1305797basicGame (APIO22_game)C++20
30 / 100
4061 ms5656 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; int vs[303030], n, k; vector<int> e[303030], re[303030]; void init(int N, int K) { n = N, k = K; for (int i = 1; i < k; i++) e[i - 1].push_back(i), re[i].push_back(i - 1); } pair<int, int> dfs(int x, vector<int> e[]) { vs[x] = 0; pair<int, int> r{1e6, -1e6}, t; if (x < k) r = {x, x}; for (int i : e[x]) if (vs[i]) t = dfs(i, e), r.first = min(r.first, t.first), r.second = max(r.second, t.second); return r; } int add_teleporter(int u, int v) { e[u].push_back(v), re[v].push_back(u); fill(vs, vs + n, 1); int x = dfs(u, re).second; fill(vs, vs + n, 1); return x >= dfs(v, e).first; }
#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...