제출 #1307125

#제출 시각아이디문제언어결과실행 시간메모리
1307125fafnir장애물 (IOI25_obstacles)C++20
10 / 100
67 ms8964 KiB
#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 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...