Submission #746849

#TimeUsernameProblemLanguageResultExecution timeMemory
746849tutisGame (APIO22_game)C++17
2 / 100
5 ms7352 KiB
#pragma GCC optimize("O3")
#pragma GCC target("avx2")
#include <bits/stdc++.h>
using namespace std;
const int N = 300000;
int K;

vector<int>adj_[N];
int mn[N];
void init(int n, int k) {
	K = k;
	for (int i = 0; i < n; i++)
		mn[i] = k;
}

int add_teleporter(int u, int v) {
	int x = min(v, mn[v]);
	int ret = 0;
	function<void(int)>dfs = [&](int i) {
		mn[i] = x;
		if (x <= i) {
			ret = 1;
		}
		for (int j : adj_[i])
			if (mn[j] > x)
				dfs(j);
	};
	if (mn[u] > x)
		dfs(u);
	adj_[v].push_back(u);
	return ret;
}
#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...