# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1222933 | omsincoconut | Game (APIO22_game) | C++17 | 0 ms | 408 KiB |
#include "game.h"
#include <bits/stdc++.h>
using namespace std;
namespace {
int n, k;
vector<vector<int>> edge, revedge;
vector<int> maxin, minout;
}
void init(int _n, int _k) {
n = _n, k = _k;
edge = revedge = vector<vector<int>>(n);
maxin = vector<int>(n, -1);
minout = vector<int>(n, k+1);
}
bool return_value = false;
void propagate_max(int u) {
for (int v : edge[u]) {
if (maxin[v] < maxin[u] && v >= k) {
maxin[v] = maxin[u];
if (maxin[v] >= minout[v]) return_value = true;
propagate_max(v);
}
}
}
void propagate_min(int u) {
for (int v : revedge[u]) {
if (minout[v] > minout[u] && v >= k) {
minout[v] = minout[u];
if (maxin[v] >= minout[v]) return_value = true;
propagate_min(v);
}
}
}
int add_teleporter(int u, int v) {
if (u < k && v < k) {
if (v <= u) return 1;
return 0;
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |