Submission #644812

#TimeUsernameProblemLanguageResultExecution timeMemory
644812Tenis0206Game (APIO22_game)C++17
60 / 100
4059 ms28552 KiB
#include <bits/stdc++.h> #include "game.h" using namespace std; int n,k; int l[500005]; bool ok = false; vector<int> G[500005]; void init(int N, int K) { n = N; k = K; for(int i=0;i<n;i++) { l[i] = -1; } for(int i=0; i<k; i++) { l[i] = i; } } void dfs(int nod, int val) { l[nod] = val; for(auto it : G[nod]) { if(it < k) { if(val >= it) { ok = true; break; } continue; } if(l[it] >= val) { continue; } dfs(it,val); } } int add_teleporter(int x, int y) { G[x].push_back(y); if(x < k && y <= x) { ok = true; return ok; } if(y < k && l[x]>=y) { ok = true; return ok; } if(l[y] < l[x]) { dfs(y,l[x]); } return ok; }
#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...