문제 번호 2358 --에어컨(Large)

2358: 에어컨(Large)

시간 제한: 2 Sec  메모리 제한: 128 MB
제출: 61  해결 문제 수: 10
[제출][채점상황][게시판][:]

문제 설명

무더운 여름 축구대회에서 열심히 뛰고 온 KOI초등학교 학생들은 에어컨 바람을 쐬기 위해 교실로 달려갔다. 교실에는 M개의 에어컨이 있다. 학생들은 에어컨 앞에 한 줄로 서서 에어컨 바람을 쐬기 때문에, 자기보다 키가 큰 사람이 앞에 서있으면 에어컨을 쐬지 못하게 된다. 키가 같아도 당연히 바람을 쐬지 못한다. 또 모두들 에어컨 바람 쐬는 것에 혈안이 되어 있기 때문에 양보 같은 건 있을 수 없는 일이다.

상우는 과연 N명의 학생들이 모두 에어컨 바람을 쐴 수 있는지 궁금해졌다. 상우를 도와 에어컨 바람을 한 명도 빠짐없이 쐴 수 있는지 알아보는 프로그램을 작성하자.

문제출제 : 한국과학기술원 최갑도

입력

Line 1 : 학생의 수 N, 에어컨의 수 M ( 1 <= M, N <= 1,000,000)

Line 2 ~ N+1 : i번째 학생의 키 H_i (1 <= H_i <= 10^9)

출력

Line 1 : 모두가 에어컨 바람을 쐴 수 있으면 “YES”, 없으면 “NO”를 출력한다.

Line 2 : 모두가 쐴 수 있는 경우 사용되는 에어컨의 최솟값을, 쐴 수 없는 경우 더 필요한 에어컨의 최솟값을 둘째 줄에 출력한다.

입력예시

6 4
5 6 1 4 10 2

출력예시

YES
3

도움말

에어컨1 앞에 3번째, 6번째 학생이 선다. 에어컨2 앞에 4번째 학생이 선다. 에어컨3 앞에 1번째, 2번째, 5번째 학생이 선다. 따라서 4개의 에어컨으로 모두 바람을 쐴 수 있다.

출처

[제출][채점상황]