제출 #746873

#제출 시각아이디문제언어결과실행 시간메모리
746873tutis게임 (APIO22_game)C++17
60 / 100
4066 ms43504 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_[N]; vector<int>adj[N]; int mn[N]; int mx[N]; void init(int n, int k) { K = k; for (int i = 0; i < n; i++) mn[i] = -k; for (int i = 0; i < k; i++) mn[i] = -i - 1; for (int i = 0; i < k; i++) mx[i] = i; for (int i = k; i < n; i++) mx[i] = -1; } int add_teleporter(int u, int v) { int x = min(v, -mn[v]); int y = mx[u]; if (y >= x) return 1; x = -x; function<void(int)>dfs = [&](int i) { mn[i] = x; for (int j : adj_[i]) if (mn[j] < x) dfs(j); }; if (mn[u] < x) dfs(u); function<void(int)>dfs1 = [&](int i) { mx[i] = y; for (int j : adj[i]) if (y > mx[j]) dfs1(j); }; if (y > mx[v]) dfs1(v); adj[u].push_back(v); adj_[v].push_back(u); 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...