Submission #746871

#TimeUsernameProblemLanguageResultExecution timeMemory
746871tutisGame (APIO22_game)C++17
2 / 100
12 ms14344 KiB
#pragma GCC optimize("O3") #pragma GCC target("avx2") #include <bits/stdc++.h> using namespace std; const int N = 300000; int K; vector<int>adj[2][N]; int mx[2][N]; void init(int n, int k) { K = k; for (int i = 0; i < n; i++) mx[0][i] = -k; for (int i = 0; i < k; i++) mx[0][i] = -(i + 1); for (int i = 0; i < k; i++) mx[1][i] = i; for (int i = k; i < n; i++) mx[1][i] = -1; } int add_teleporter(int u, int v) { int x = min(v, -mx[0][v]); int y = mx[1][u]; if (y >= x) return 1; int V[2] = { -x, y}; for (int t : {1, 0}) { function<void(int)>dfs = [&](int i) { mx[t][i] = V[t]; for (int j : adj[t][i]) if (V[t] > mx[t][j]) dfs(j); }; if (V[t] > mx[t][v]) dfs(v); swap(u, v); } return 0; }
#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...