돌기둥 줄이기


답안 제출

Points: 10
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

마법사는 거대한 돌기둥들이 기준 높이보다 낮아지도록 만들고 싶다.

마법사는 줄어드는 망치를 사용할 수 있다.

망치를 한 번 사용하면 현재 가장 높은 돌기둥의 높이가 절반이 된다.

돌기둥의 높이가 홀수라면 절반으로 나눈 몫이 새 높이가 된다.

높이가 \(1\)인 돌기둥은 망치를 맞아도 더 줄어들지 않는다.

망치를 최대 \(t\)번 사용할 수 있을 때, 모든 돌기둥의 높이를 기준 높이보다 낮게 만들 수 있는지 판별하라.

입력

첫째 줄에 돌기둥의 수 \(n\), 기준 높이 \(h\), 망치 사용 제한 \(t\)가 공백으로 구분되어 주어진다.

둘째 줄부터 \(n\)개의 줄에 돌기둥의 높이가 하나씩 주어진다.

\((1 \le n \le 100000)\)

\((1 \le h \le 2000000000)\)

\((1 \le t \le 100000)\)

돌기둥의 높이는 \(1\) 이상 \(2000000000\) 이하이다.

출력

모든 돌기둥의 높이를 기준 높이보다 낮게 만들 수 있다면 첫째 줄에 YES, 둘째 줄에 사용한 망치의 횟수를 출력한다.

그렇지 않다면 첫째 줄에 NO, 둘째 줄에 현재 가장 높은 돌기둥의 높이를 출력한다.

예제 입력

3 10 2
20
20
9

예제 출력

NO
10

코멘트

현재 작성된 코멘트가 없습니다.