ez_code   1년 전

문제

드디어 코로나 상황이 나아지고 최근 몇 년 동안 꿈꿔온 일을 할 수 있게 됐습니다: 가장 좋아하는 레스토랑에서 밥을 먹는 것이죠. 이 레스토랑은 카트만두에 있지만, 비행기를 타면 되기에 알 바 아닙니다. 

비행기 여행이 매우 피곤하다는 것이 유일한 문제입니다. 방해를 받지 않고 T분을 잘 수 있다면, 즉 t분부터 t+T분까지 잠에서 깨지 않았다면 당신은 휴식을 취한 것으로 판단합니다. 추가로 당신은 아주 쉽게 잠에 듭니다: 분이 시작하는 때라면 아무 때나 잠들 수 있고, 분이 끝나는 때라면 아무 때나 깰 수 있습니다.

물론 너무 오래 잔다면 기내식을 모두 놓칠 수 있습니다! 이는 용납할 수 없는 일입니다: 공짜로 음식을 먹는 일은 놓쳐서는 안 됩니다.

다행히 항공사가 총 비행 일정을 보냈습니다: 이 일정에는 비행 시간 D분, 기내식의 수 M, 비행이 시작된 시점을 기준으로 기내식이 전달되는 시간 yi가 포함되어 있습니다. 기내식을 받기 위해서는 식사가 시작되는 시점에 깨어 있어야 하며, 그렇지 않을 경우 기내식이 전달되지 않습니다. 당신은 항상 배고프기에, 기내식을 받는 즉시 해치울 것입니다.

완벽한 비행을 하기 위해 당신은 편히 쉬면서 모든 기내식을 먹을 수 있는지 알고 싶습니다.

입력

첫 줄에 각각 휴식을 취하기 위해 필요한 연속된 분의 수, 비행 시간, 비행 중 전달되는 기내식의 수를 의미하는 세 정수 T, D, M이 주어집니다. (1 <= T, D <= 10 ^ 5, 0 <= M <= 1000) 

다음 M개의 줄에 정수 yi가 입력됩니다. (0 <= yi <= D) 이 정수는 각 기내식이 전달되는 시간을 나타내며, 시간 기준 오름차순으로 주어집니다.

출력

한 줄에 문자 하나를 출력합니다. 모든 기내식을 먹으면서 충분히 쉴 수 있을 경우 'Y'를 출력합니다; 그렇지 않을 경우, 'N'을 출력합니다.

댓글을 작성하려면 로그인해야 합니다.