#include "jumps.h"
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define fi first
#define se second
#define sz(a) (int)(a.size())
typedef long long int ll;
typedef pair<int,int> pii;
typedef vector<vector<int>> vii;
const int MAXN = 2e5+5;
vii adj(MAXN);
int hpar[20][MAXN],lpar[20][MAXN];
vector<int>H;
void init(int n, vector<int>h){
H = h;
stack<pii>stk;
for(int i=0;i<n;i++){
while(!stk.empty() && stk.top().fi < h[i])stk.pop();
if(!stk.empty())adj[i+1].pb(stk.top().se+1);
stk.push({h[i],i});
}
while(!stk.empty())stk.pop();
for(int i=n-1;i>=0;i--){
while(!stk.empty() && stk.top().fi < h[i])stk.pop();
if(!stk.empty())adj[i+1].pb(stk.top().se+1);
stk.push({h[i],i});
}
for(int i=1;i<=n;i++){
if(sz(adj[i]) >1){
hpar[0][i] = h[adj[i][0]-1]<h[adj[i][1]-1] ? adj[i][1] : adj[i][0];
lpar[0][i] = h[adj[i][0]-1]>h[adj[i][1]-1] ? adj[i][1] : adj[i][0];
}
else if(sz(adj[i])) lpar[0][i] = adj[i][0];
}
for(int j=1;j<20;j++){
for(int i=1;i<=n;i++){
hpar[j][i] = hpar[j-1][hpar[j-1][i]];
lpar[j][i] = lpar[j-1][lpar[j-1][i]];
}
}
}
int minimum_jumps(int a,int b,int c,int d){
a++;
b++;
c++;
d++;
if(a==b && c==d){
int cur = a;
int ans = 0;
for(int i=19;i>=0;i--){
if(hpar[i][cur] && H[hpar[i][cur]-1] <= H[d-1]){
ans+=(1<<i);
cur = hpar[i][cur];
}
}
for(int i=19;i>=0;i--){
if(lpar[i][cur] && H[lpar[i][cur]-1] <= H[d-1]){
ans+=(1<<i);
cur = lpar[i][cur];
}
}
if(cur == d)return ans;
else return -1;
}
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
5192 KB |
Output is correct |
2 |
Correct |
3 ms |
5192 KB |
Output is correct |
3 |
Incorrect |
143 ms |
37532 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
3 ms |
5192 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
3 ms |
5192 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
3 ms |
5192 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
5212 KB |
Output is correct |
2 |
Correct |
3 ms |
5192 KB |
Output is correct |
3 |
Correct |
5 ms |
5192 KB |
Output is correct |
4 |
Correct |
253 ms |
23428 KB |
Output is correct |
5 |
Correct |
1055 ms |
44788 KB |
Output is correct |
6 |
Correct |
727 ms |
11720 KB |
Output is correct |
7 |
Correct |
922 ms |
44844 KB |
Output is correct |
8 |
Correct |
646 ms |
18824 KB |
Output is correct |
9 |
Correct |
1117 ms |
44800 KB |
Output is correct |
10 |
Correct |
1113 ms |
45760 KB |
Output is correct |
11 |
Correct |
1139 ms |
45700 KB |
Output is correct |
12 |
Correct |
1152 ms |
45632 KB |
Output is correct |
13 |
Correct |
933 ms |
44796 KB |
Output is correct |
14 |
Correct |
1146 ms |
45700 KB |
Output is correct |
15 |
Correct |
1083 ms |
45824 KB |
Output is correct |
16 |
Correct |
1075 ms |
45832 KB |
Output is correct |
17 |
Correct |
3 ms |
5192 KB |
Output is correct |
18 |
Correct |
3 ms |
5192 KB |
Output is correct |
19 |
Correct |
5 ms |
5192 KB |
Output is correct |
20 |
Correct |
6 ms |
5192 KB |
Output is correct |
21 |
Correct |
5 ms |
5192 KB |
Output is correct |
22 |
Correct |
5 ms |
5192 KB |
Output is correct |
23 |
Correct |
7 ms |
5192 KB |
Output is correct |
24 |
Correct |
5 ms |
5192 KB |
Output is correct |
25 |
Correct |
3 ms |
5192 KB |
Output is correct |
26 |
Correct |
5 ms |
5320 KB |
Output is correct |
27 |
Correct |
22 ms |
5576 KB |
Output is correct |
28 |
Correct |
27 ms |
5576 KB |
Output is correct |
29 |
Correct |
24 ms |
5576 KB |
Output is correct |
30 |
Correct |
21 ms |
5576 KB |
Output is correct |
31 |
Correct |
20 ms |
5576 KB |
Output is correct |
32 |
Correct |
4 ms |
5192 KB |
Output is correct |
33 |
Correct |
47 ms |
28224 KB |
Output is correct |
34 |
Correct |
77 ms |
44808 KB |
Output is correct |
35 |
Correct |
62 ms |
45632 KB |
Output is correct |
36 |
Correct |
72 ms |
44796 KB |
Output is correct |
37 |
Correct |
71 ms |
45696 KB |
Output is correct |
38 |
Correct |
81 ms |
45952 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
5212 KB |
Output is correct |
2 |
Correct |
3 ms |
5192 KB |
Output is correct |
3 |
Correct |
5 ms |
5192 KB |
Output is correct |
4 |
Correct |
253 ms |
23428 KB |
Output is correct |
5 |
Correct |
1055 ms |
44788 KB |
Output is correct |
6 |
Correct |
727 ms |
11720 KB |
Output is correct |
7 |
Correct |
922 ms |
44844 KB |
Output is correct |
8 |
Correct |
646 ms |
18824 KB |
Output is correct |
9 |
Correct |
1117 ms |
44800 KB |
Output is correct |
10 |
Correct |
1113 ms |
45760 KB |
Output is correct |
11 |
Correct |
1139 ms |
45700 KB |
Output is correct |
12 |
Correct |
1152 ms |
45632 KB |
Output is correct |
13 |
Correct |
933 ms |
44796 KB |
Output is correct |
14 |
Correct |
1146 ms |
45700 KB |
Output is correct |
15 |
Correct |
1083 ms |
45824 KB |
Output is correct |
16 |
Correct |
1075 ms |
45832 KB |
Output is correct |
17 |
Correct |
3 ms |
5192 KB |
Output is correct |
18 |
Correct |
3 ms |
5192 KB |
Output is correct |
19 |
Correct |
5 ms |
5192 KB |
Output is correct |
20 |
Correct |
6 ms |
5192 KB |
Output is correct |
21 |
Correct |
5 ms |
5192 KB |
Output is correct |
22 |
Correct |
5 ms |
5192 KB |
Output is correct |
23 |
Correct |
7 ms |
5192 KB |
Output is correct |
24 |
Correct |
5 ms |
5192 KB |
Output is correct |
25 |
Correct |
3 ms |
5192 KB |
Output is correct |
26 |
Correct |
5 ms |
5320 KB |
Output is correct |
27 |
Correct |
22 ms |
5576 KB |
Output is correct |
28 |
Correct |
27 ms |
5576 KB |
Output is correct |
29 |
Correct |
24 ms |
5576 KB |
Output is correct |
30 |
Correct |
21 ms |
5576 KB |
Output is correct |
31 |
Correct |
20 ms |
5576 KB |
Output is correct |
32 |
Correct |
4 ms |
5192 KB |
Output is correct |
33 |
Correct |
47 ms |
28224 KB |
Output is correct |
34 |
Correct |
77 ms |
44808 KB |
Output is correct |
35 |
Correct |
62 ms |
45632 KB |
Output is correct |
36 |
Correct |
72 ms |
44796 KB |
Output is correct |
37 |
Correct |
71 ms |
45696 KB |
Output is correct |
38 |
Correct |
81 ms |
45952 KB |
Output is correct |
39 |
Correct |
3 ms |
5192 KB |
Output is correct |
40 |
Correct |
3 ms |
5192 KB |
Output is correct |
41 |
Correct |
3 ms |
5192 KB |
Output is correct |
42 |
Correct |
248 ms |
23360 KB |
Output is correct |
43 |
Correct |
997 ms |
44864 KB |
Output is correct |
44 |
Correct |
621 ms |
11720 KB |
Output is correct |
45 |
Correct |
993 ms |
44856 KB |
Output is correct |
46 |
Correct |
508 ms |
18916 KB |
Output is correct |
47 |
Correct |
1037 ms |
44864 KB |
Output is correct |
48 |
Correct |
1087 ms |
45760 KB |
Output is correct |
49 |
Correct |
1051 ms |
45760 KB |
Output is correct |
50 |
Correct |
1058 ms |
45632 KB |
Output is correct |
51 |
Correct |
916 ms |
44904 KB |
Output is correct |
52 |
Correct |
1098 ms |
45700 KB |
Output is correct |
53 |
Correct |
1037 ms |
45824 KB |
Output is correct |
54 |
Correct |
893 ms |
45764 KB |
Output is correct |
55 |
Correct |
3 ms |
5192 KB |
Output is correct |
56 |
Incorrect |
122 ms |
44784 KB |
Output isn't correct |
57 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
5192 KB |
Output is correct |
2 |
Correct |
3 ms |
5192 KB |
Output is correct |
3 |
Incorrect |
143 ms |
37532 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |