Submission #1048438

#TimeUsernameProblemLanguageResultExecution timeMemory
1048438DorostWefDungeons Game (IOI21_dungeons)C++17
11 / 100
7096 ms26172 KiB
#include "dungeons.h" #include <bits/stdc++.h> using namespace std; const int N = 400023; int s[N], p[N], w[N], l[N], n; long long m[N], a[N]; void init(int nn, std::vector<int> ss, std::vector<int> pp, std::vector<int> ww, std::vector<int> ll) { n = nn; for (int i = 0; i < n; i++) { s[i] = ss[i]; p[i] = pp[i]; w[i] = ww[i]; l[i] = ll[i]; } m[n] = 0; a[n] = 0; for (int i = n - 1; i >= 0; i--) { a[i] = a[w[i]] + s[i]; m[i] = max((long long)s[i], m[w[i]] - s[i]); } return; } long long simulate(int x, int z) { if (z >= m[x]) return z + a[x]; if (z >= s[x]) { z += s[x]; x = w[x]; } else { z += p[x]; x = l[x]; } return simulate (x, 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...