Submission #116001

#TimeUsernameProblemLanguageResultExecution timeMemory
116001minhcoolSecret (JOI14_secret)C++17
0 / 100
504 ms4588 KiB
#include<bits/stdc++.h> #include "secret.h" using namespace std; int ans[1001][11], n, b[1001]; int ask(int x, int y){ return Secret(x, y); } void build(){ for(int i = 1; i <= n; i++) ans[i][0] = b[i]; for(int i = 1; i < 10; i++){ int tmp = 1 << i; for(int j = 1; j + tmp <= n; j++) ans[j][i] = ask(ans[j][i - 1], ans[j + (1 << (i - 1))][i - 1]); } } void Init(int N, int A[]){ n = N; for(int i = 1; i <= n; i++) b[i] = A[i - 1]; build(); } int Query(int x, int y){ x--; y--; int tmp = x, answer = 0; for(int i = 9; i >= 0; i--){ if(tmp + (1 << i) > y) continue; if(!answer) answer = ans[tmp][i]; else answer = ask(answer, ans[tmp][i]); tmp += (1 << i); } return answer; }
#Verdict Execution timeMemoryGrader output
Fetching results...