Submission #726924

#TimeUsernameProblemLanguageResultExecution timeMemory
726924vjudge1Game (APIO22_game)C++17
30 / 100
4094 ms9852 KiB
#include <bits/stdc++.h> using namespace std; #include "game.h" using Bitset = bitset<1000>; int N, K; Bitset reachable[300000]; void init(int n, int k) { N = n, K = k; } vector<int> adj[300000]; int vis[300000]; int f[300000]; int timer = 0; int DP(int u) { if (vis[u] == timer) return f[u]; vis[u] = timer; f[u] = 1e9; for (int v : adj[u]) { if (v < K) { f[u] = min(v, f[u]); } else { f[u] = min(f[u], DP(v)); } } return f[u]; } int add_teleporter(int u, int v) { ++timer; adj[u].emplace_back(v); 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...