Submission #890257

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
8902572023-12-20 20:30:59Dec0DeddRainforest Jumps (APIO21_jumps)C++14
100 / 100
862 ms63172 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5+10;
const int K = 18;
const int INF = 1e9;
int up[K][N], mvr[K][N], mvl[K][N], h[N], idx[N], lh[N], rh[N], n;
int sp[K][N], lg[N];
int que(int l, int r) {
int i=lg[r-l+1];
return max(sp[i][l], sp[i][r-(1<<i)+1]);
}
void init(int N, std::vector<int> H) {
n=N;
for (int i=0; i<n; ++i) h[i+1]=H[i], idx[h[i+1]]=i+1;
h[0]=INF-1, h[n+1]=INF;
stack<int> st; st.push(0);
for (int i=1; i<=n; ++i) {
while (h[st.top()] <= h[i]) st.pop();
assert(!st.empty());
lh[i]=st.top(), st.push(i);
} st=stack<int>();
for (int i=1; i<=n; ++i) sp[0][i]=h[i];
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...