만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

동물 자리 배치

시간 제한2초메모리 제한1024 MB

요약
원형 탁자에서 각 자리 주변 2d+1개 자리의 여우 수가 주어질 때, 모든 값을 만족하도록 여우와 늑대를 배치합니다. 불가능하면 NO를 출력합니다.
난이도

보통10점 중 6점

유형
누적 합, 수학, 구현
정답자
아직 제출이 없습니다

문제

콜로복이 오늘 늑대와 여우를 모두 집으로 초대해 차 모임을 연다. 모임은 자리가 정확히 nn개인 둥근 식탁에서 열린다. 콜로복은 늑대끼리만, 여우끼리만 모여 앉지 않도록 특별한 방식으로 동물을 배치하려 한다. 그래서 각 자리마다 그 자리를 포함해 거리가 dd 이하인 자리에 앉아야 하는 여우의 수를 정수로 적었다. 두 자리는 한쪽에서 시계 방향 또는 반시계 방향으로 이동할 때 사이에 있는 자리가 d−1d-1개 이하이면 거리가 dd 이하이다. 따라서 어떤 자리에서든 자기 자신을 포함해 거리가 dd 이하인 자리는 정확히 2d+12d+1개다. 이 제약을 모두 만족하는 자리 배치를 찾아라.

입력

첫 줄에 자연수 nn과 dd가 주어진다 (3≤n≤1053 \le n \le 10^5, 3≤2d+1≤n3 \le 2d+1 \le n). 둘째 줄에는 음이 아닌 정수 nn개 aia_i (0≤ai≤2d+10 \le a_i \le 2d+1)가 주어진다. aia_i는 자리 ii에서 거리가 dd 이하인 여우의 수이며, 자리 ii도 포함한다. 값은 원을 따라 자리 순서대로 나열되어 있다.

출력

해가 없으면 NO를 출력한다. 해가 있으면 첫 줄에 YES를 출력하고, 다음 줄에 nn개의 수를 출력한다. 그 자리에 여우가 앉으면 1, 늑대가 앉으면 0이다. 답이 여러 개이면 아무거나 출력해도 된다.

예제3

  1. 예제 1

    입력
    5 1
    2 2 1 2 2
    
    예상 출력
    YES
    1 0 1 0 1
    
  2. 예제 2

    입력
    9 2
    3 4 4 3 3 2 2 2 2
    
    예상 출력
    YES
    1 0 1 1 1 0 0 0 1
    
  3. 예제 3

    입력
    6 1
    3 3 3 3 3 1
    
    예상 출력
    NO