#include <bits/stdc++.h>
using namespace std;
const int NMAX = 200'000;
int T[NMAX];
int H[NMAX];
int FOV[NMAX];
int N, M;
void initialize(std::vector<int> lT, std::vector<int> lH) {
copy(lT.begin(), lT.end(), T);
copy(lH.begin(), lH.end(), H);
N = lT.size();
M = lH.size();
FOV[0] = T[0] > H[0];
for (int i = 1; i < M; ++i) {
FOV[i] = FOV[i-1] + (T[0] > H[i]);
}
}
bool can_reach(int L, int R, int S, int D) {
if (S > D) {swap(S,D);}
if (D <= R && S >= L) {
int fov_cells = FOV[D] - (S != 0 ? FOV[S-1] : 0);
return (D - S + 1) == (fov_cells);
}
return false;
}
| # | 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... |