Submission #1009480

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