제출 #1224116

#제출 시각아이디문제언어결과실행 시간메모리
1224116candi_ositos던전 (IOI21_dungeons)C++20
11 / 100
7095 ms19784 KiB
#include "dungeons.h" #include <bits/stdc++.h> using namespace std; int n, q; vector <int> s, p, w, l, ax, az; long long int simulate(int x, int z); void init(int N, vector <int> S, vector <int> P, vector <int> W, vector <int> L); /* int main() { static std::vector<long long> answer; assert(scanf("%d %d", &n, &q) == 2); s.resize(n); p.resize(n); w.resize(n); l.resize(n); ax.resize(q); az.resize(q); answer.resize(q); for (int i = 0; i < n; i++) { assert(scanf("%d", &s[i]) == 1); } for (int i = 0; i < n; i++) { assert(scanf("%d", &p[i]) == 1); } for (int i = 0; i < n; i++) { assert(scanf("%d", &w[i]) == 1); } for (int i = 0; i < n; i++) { assert(scanf("%d", &l[i]) == 1); } init(n, s, p, w, l); for (int i = 0; i < q; i++) { assert(scanf("%d %d", &ax[i], &az[i]) == 2); answer[i] = simulate(ax[i], az[i]); } fclose(stdin); for (int i = 0; i < q; i++) { printf("%lld\n", answer[i]); } fclose(stdout); return 0; }*/ void init(int N, vector <int> S, vector <int> P, vector <int> W, vector <int> L) { n=N; s.resize(N); p.resize(N); w.resize(N); l.resize(N); for(int i=0; i<n; ++i) { s[i]=S[i]; p[i]=P[i]; w[i]=W[i]; l[i]=L[i]; } return; } long long int simulate(int x, int z) { if(x==n) { return z; } if(z<s[x]) { z+=p[x]; return (simulate(l[x], z)); } z+=s[x]; return (simulate(w[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...