Submission #524699

#TimeUsernameProblemLanguageResultExecution timeMemory
524699LucaDantasDungeons Game (IOI21_dungeons)C++17
11 / 100
7087 ms26648 KiB
// brutao subtask 1
#include "dungeons.h"
#include <vector>

constexpr int maxn = 4e5+10;

int s[maxn], p[maxn], w[maxn], l[maxn], n;

void init(int N, std::vector<int> S, std::vector<int> P, std::vector<int> W, std::vector<int> L) {
	n = N;
	for(int i = 0; i < n; i++)
		s[i] = S[i];
	for(int i = 0; i < n; i++)
		p[i] = P[i];
	for(int i = 0; i < n; i++)
		w[i] = W[i];
	for(int i = 0; i < n; i++)
		l[i] = L[i];
	return;
}

long long ans = 0;

void dfs(int u, long long val) {
	if(u == n) return (void)(ans = val);
	if(val >= s[u]) dfs(w[u], val + s[u]);
	else dfs(l[u], val + p[u]);
}

long long simulate(int x, int z) {
	dfs(x, z);
	return ans;
}

#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...