Submission #418763

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4187632021-06-05 20:33:42REALITYNBRainforest Jumps (APIO21_jumps)C++14
0 / 100
1 ms200 KiB
#include <bits/stdc++.h>
#define mp make_pair
#define all(a) a.begin(),a.end()
#define pii pair<int,int>
#define F first
#define S second
using namespace std;
const int mxn = 20001, mxl = 20;
int n, l[mxn][mxl], r[mxn][mxl];
vector<int> h;
int HE[mxn][mxl];
int good(int x){
return (0<=x&&x<n);
}
void init(int mxn, vector<int> H){
vector<pii> sHE;
set<int> bull;
for(int i=0;i<n;i++) sHE.push_back(mp(h[i],i));
n=mxn,h=H;
sort(all(sHE)) ;
reverse(all(sHE));
bull.insert(n); bull.insert(-1);
for(int i=0;i<mxn;++i)for(int j=0;j<mxl;j++)l[i][j]=r[i][j]=HE[i][j]=-1;
for (auto xxx : sHE){
int i=xxx.S ;
auto it=bull.lower_bound(i);
r[i][0]=*it,l[i][0]=*(--it);
bull.insert(i);
if(!good(l[i][0])&&!good(r[i][0]));
else if(!good(r[i][0])) HE[i][0]=l[i][0];
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
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...