Submission #962839

# Submission time Handle Problem Language Result Execution time Memory
962839 2024-04-14T08:52:25 Z 0npata Game (APIO22_game) C++17
0 / 100
1 ms 1964 KB
#include "game.h"
#include<bits/stdc++.h>
using namespace std;

const int N = 30'005;
const int K = 1'005;

#define pb push_back
#define vec vector

vec<int> nk(N, -1);
vec<set<pair<int, int>>> g(N);
int k;
int n;

void init(int in, int ik) {
	n = in;
	k = ik;

	for(int i = 0; i<k; i++) {
		nk[i] = i;
	}
}

int add_teleporter(int u, int v) {

	nk[v] = max(nk[v], nk[u]);

	g[u].insert({nk[v], v});;

	vec<int> stack{v};

	while(stack.size() > 0) {
		int cur = stack.back();
		stack.pop_back();

//		cerr << "CUR: " << cur << '\n';

		vec<pair<int, int>> upd(0);
		for(auto nxt : g[cur]) {
			int l = nxt.second;

			//cerr << "l: " << l << ' ' << '\n';

			if(l<k) {
				//cerr << "HERE NO?" << '\n';
				// special node
				if(nk[cur] >= nk[l]) {
					return 1;
				}
			}

			if(nk[l] < nk[cur]) {
				stack.pb(l);
				nk[l] = nk[cur];
				upd.pb(nxt);
			}
			else if(nk[l] != nxt.first) {
				upd.pb(nxt);
			}

			if(nxt.first >= nk[cur]) break;
		}

		for(auto val : upd) {
			g[cur].erase(val);
			g[cur].insert({nk[val.second], val.second});
		}
	}

	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1880 KB Output is correct
2 Correct 1 ms 1880 KB Output is correct
3 Correct 1 ms 1964 KB Output is correct
4 Correct 1 ms 1880 KB Output is correct
5 Incorrect 1 ms 1880 KB Wrong Answer[1]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1880 KB Output is correct
2 Correct 1 ms 1880 KB Output is correct
3 Correct 1 ms 1964 KB Output is correct
4 Correct 1 ms 1880 KB Output is correct
5 Incorrect 1 ms 1880 KB Wrong Answer[1]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1880 KB Output is correct
2 Correct 1 ms 1880 KB Output is correct
3 Correct 1 ms 1964 KB Output is correct
4 Correct 1 ms 1880 KB Output is correct
5 Incorrect 1 ms 1880 KB Wrong Answer[1]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1880 KB Output is correct
2 Correct 1 ms 1880 KB Output is correct
3 Correct 1 ms 1964 KB Output is correct
4 Correct 1 ms 1880 KB Output is correct
5 Incorrect 1 ms 1880 KB Wrong Answer[1]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1880 KB Output is correct
2 Correct 1 ms 1880 KB Output is correct
3 Correct 1 ms 1964 KB Output is correct
4 Correct 1 ms 1880 KB Output is correct
5 Incorrect 1 ms 1880 KB Wrong Answer[1]
6 Halted 0 ms 0 KB -