#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
vector<int>v[4000];
int dst[4000][4000];
void init(int N, std::vector<int> H){
for(int i=0;i<N;i++){
for(int j=i+1;j<N;j++){
if(H[j]>=H[i]){
v[i].pb(j);
break;
}
}
}
for(int i=0;i<N;i++){
for(int j=i-1;j>=0;j--){
if(H[j]>=H[i]){
v[i].pb(j);
break;
}
}
}
for(int i=0;i<N;i++){
queue<int>q;
q.push(i);
while(!q.empty()){
int a=q.front();
q.pop();
for(auto b:v[a]){
if(b!=i and dst[i][b]==0){
dst[i][b]=dst[i][a]+1;
q.push(b);
}
}
}
}
}
int minimum_jumps(int A, int B, int C, int D) {
int ans= 2e5;
for(int i=A;i<B;i++){
for(int j=C;j<D;j++){
ans=min(ans,dst[i][j]);
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |