#include <bits/stdc++.h>
#include "obstacles.h"
using namespace std;
static int N, M;
static vector<int> Tval, Hval;
static vector<int> c;
static vector<int> b;
void initialize(vector<int> T, vector<int> H) {
Tval = T;
Hval = H;
N = Tval.size();
M = Hval.size();
c.assign(M, 0);
b.assign(M, -1);
int d = Tval[0];
// Blocked if T[0] <= H[i]
for (int i = 0; i < M; i++) {
if (d <= Hval[i]) {
c[i]=1;
}
}
int last = M;
for (int i = M - 1; i >= 0; i--) {
if (c[i] == 0) { // free
b[i] = last - 1;
} else { // blocked
last = i;
}
}
}
bool can_reach(int L, int R, int S, int D) {
return b[min(S, D)] >= max(S, D);
}
| # | 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... |