페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#8516
서브태스크

점프점프 1s 1024MB

문제

N개의 건물이 직선 상에 놓여있다.

왼쪽에서 오른쪽으로 순서대로 건물에 번호가 1, 2, 3..., N으로 매겨져 있다.

i번 건물의 높이는 h_i이다.

정올이는 점프 능력을 통해, 현재 있는 건물에서 높이 차이가 최대 K인 건물로 이동할 수 있다.

이때, 건물 사이 간격은 무시한다.

그러나 정올이는 뒤를 돌아보지 않는 상남자이기 때문에 오직 오른쪽(번호가 커지는 쪽)으로만 이동한다.

즉, 현재 정올이가 2번 건물에 있고 그 높이가 10이며,
K=5라면 정올이는 높이가 20인 3번 건물로는 못 가지만,
높이가 12인 6번 건물로 점프할 수 있으며, 높이가 7인 8번 건물로도 점프를 할 수 있다.

만약 10번 건물의 높이가 3이라면, 바로 2번 건물에서 바로 점프는 못하지만,
8번 건물을 경유해 두번 점프하면 도달할 수 있다.

1번 건물에서 출발했을 때, 각 건물이 여러 번의 점프를 통해 도달 가능한 지를 알아보자.


입력

첫 줄에 NK가 순서대로 주어진다. (1\leq N\leq 2*10^5, 1\leq K\leq 10^9)

그 다음 줄에 h_1, h_2, ..., h_N이 순서대로 주어진다. (1\leq h_i\leq 10^9)


출력

한 줄에 N개의 0 또는 1을 공백으로 구분하여 출력하여라.

i번째 건물이 도달 가능하다면 i번째 수로 1을, 도달이 불가능하면 0을 출력하여라.

첫 번째 값은 항상 1일 것이다. (1번 건물에서 시작하기 때문)


부분문제

번호 점수 조건
#130점

h_1, ..., h_N은 오름차순으로 정렬되어 있다.

#230점

N\leq 1000

#340점

추가 제한 없음


예제 #1

5 2
5 4 8 7 2
1 1 0 1 1

예제 #2

5 3
10 15 14 8 9
1 0 0 1 1


출처

COCI 2024/2025 Contest #1

로그인해야 코드를 작성할 수 있어요.