Submission #988971

#TimeUsernameProblemLanguageResultExecution timeMemory
988971OtalpGame (APIO22_game)C++17
30 / 100
4011 ms12056 KiB
#include "game.h" #include<bits/stdc++.h> using namespace std; #define pb push_back vector<int> q[200100], dq[200100]; int n, k; void init(int N, int K) { n = N; k = K; for(int i=0; i<n; i++){ q[i].clear(); dq[i].clear(); } for(int i=0; i<k-1; i++){ q[i].pb(i + 1); dq[i + 1].pb(i); } } int dp[200100], us[200100]; void dfs(int v){ us[v] = 1; for(int to: q[v]){ if(!us[to]) dfs(to); dp[v] = min(dp[v], dp[to]); dp[v] = min(dp[v], to); } } int add_teleporter(int u, int v) { for(int i=0; i<n; i++){ us[i] = 0; dp[i] = 1e9; } q[u].pb(v); dq[v].pb(u); for(int i=0; i<n; i++){ if(us[i]) continue; dfs(i); } for(int i=0; i<k; i++){ if(dp[i] <= i) return 1; } 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...