# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
438671 | Stickfish | Dungeons Game (IOI21_dungeons) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "dungeons.h"
#include <vector>
using namespace std;
const int MAXN = 4e5 + 123;
int n;
int edg[MAXN][2];
int p[MAXN][2];
void init(int sn, vector<int> sv, vector<int> pv, vector<int> wv, vector<int> lv) {
n = sn;
for(int i = 0; i < n; ++i){
edg[i][0] = wv[i];
edg[i][1] = lv[i];
p[i][0] = pv[i];
p[i][1] = sv[i];
}
return;
}
long long simulate(int x, int z) {
if(x >= n)
return z;
if(z >= p[x][0]){
return simulate(edg[x][0], z + p[x][0]);
} else {
return simulate(edg[x][1], z + p[x][1]);
}
}
#include "dungeons.h"
#include <vector>
using namespace std;
const int MAXN = 4e5 + 123;
int n;
int edg[MAXN][2];
int p[MAXN][2];
void init(int sn, vector<int> sv, vector<int> pv, vector<int> wv, vector<int> lv) {
n = sn;
for(int i = 0; i < n; ++i){
edg[i][0] = wv[i];
edg[i][1] = lv[i];
p[i][0] = pv[i];
p[i][1] = sv[i];
}
return;
}
long long simulate(int x, int z) {
if(x >= n)
return z;
if(z >= p[x][0]){
return simulate(edg[x][0], z + p[x][0]);
} else {
return simulate(edg[x][1], z + p[x][1]);
}
}