#include "game.h"
#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
const int MAX = 3e5 + 5;
int n, k;
int in[MAX], out[MAX];
vector<int> veze[MAX], vezeRev[MAX];
void init(int N, int K) {
n = N;
k = K;
for (int i = 0; i < n; i++) {
if (i < k) {
in[i] = i;
out[i] = i;
}
else {
in[i] = -1;
out[i] = INF;
}
}
}
void rekIn(int u, int val) {
if (in[u] >= val) return;
in[u] = val;
for (int v : veze[u]) {
rekIn(v, val);
}
}
void rekOut(int u, int val) {
if (out[u] <= val) return;
out[u] = val;
for (int v : vezeRev[u]) {
rekOut(v, val);
}
}
int add_teleporter(int x, int y) {
if (x < k && y < k) return x >= y;
veze[x].push_back(y);
vezeRev[y].push_back(x);
rekIn(y, in[x]);
rekOut(x, out[y]);
return in[x] >= out[y];
}
//int main() {
// int n, k;
// cin >> n >> k;
// init(n, k);
//
// while (true) {
// int x, y;
// cin >> x >> y;
//
// if (add_teleporter(x, y)) break;
// }
//}
# | 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... |