제출 #1009480

#제출 시각아이디문제언어결과실행 시간메모리
1009480induwara16Dungeons Game (IOI21_dungeons)C++17
11 / 100
7060 ms19792 KiB
#include "dungeons.h"
#include <bits/stdc++.h>

using namespace std;

typedef string str;
typedef vector<int> vi;

int n, sm;
vi s, p, w, l;

void init(int n1, std::vector<int> s1, std::vector<int> p1, std::vector<int> w1, std::vector<int> l1)
{
	n = n1;
	s = s1;
	p = p1;
	w = w1;
	l = l1;

	sm = *max_element(s.begin(), s.end());
}

long long solve(int x, long long z)
{
	if (z >= sm)
	{
		queue<int> q;
		q.push(x);

		while (!q.empty())
		{
			int a = q.front();
			q.pop();

			if (a != n)
			{
				z += s[a];
				q.push(w[a]);
			}
		}

		return z;
	}

	else
	{
		if (x == n)
			return z;

		if (z >= s[x])
			return solve(w[x], z + s[x]);
		else
			return solve(l[x], z + p[x]);
	}
}

long long simulate(int x, int z)
{
	return solve(x, (long long)z);
}
#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...