Submission #710348

#TimeUsernameProblemLanguageResultExecution timeMemory
710348AstraytGame (APIO22_game)C++17
2 / 100
10 ms14416 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define pb push_back #define maxn 300005 int N, K, good = 0, t = 1, low[maxn]; vector<int> adj[maxn], rev[maxn]; void init(int n, int k){ N = n, K = k; for(int i = 0; i < k - 1; ++i) adj[i].pb(i + 1), rev[i + 1].pb(i); for(int i = 0; i < n; ++i) low[i] = i; } int add_teleporter(int u, int v){ if(u == v){ if(u < K) return 1; else return 0; } adj[u].pb(v); rev[v].pb(u); low[u] = min(low[v], low[u]); queue<int> bfs; bfs.push(u); while(bfs.size()){ int u = bfs.front(); bfs.pop(); for(auto v:rev[u]){ if(low[v] > low[u]) { low[v] = low[u]; bfs.push(v); } } } for(int i = 0; i < K; ++i){ if(low[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...