Submission #1176146

#TimeUsernameProblemLanguageResultExecution timeMemory
1176146gygDungeons Game (IOI21_dungeons)C++20
11 / 100
7094 ms26184 KiB
#include "dungeons.h"
#include <bits/stdc++.h>
using namespace std;
#define sig signed
#define int long long
#define vec vector
#define arr array
const int N = 4e5 + 5;

int n;
arr<int, N> wn, ls, wn_nd, ls_nd;

void init(sig _n, vec<sig> _wn, vec<sig> _ls, vec<sig> _wn_nd, vec<sig> _ls_nd) {
	n = _n;
	for (int u = 0; u < n; u++)
		wn[u] = _wn[u], ls[u] = _ls[u], wn_nd[u] = _wn_nd[u], ls_nd[u] = _ls_nd[u];
}

int simulate(sig u, sig x) {
	while (u != n) {
		if (x >= wn[u]) {
			x += wn[u];
			u = wn_nd[u];
		} else {
			x += ls[u];
			u = ls_nd[u];
		}
	}
	return x;
}

#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...
#Verdict Execution timeMemoryGrader output
Fetching results...