아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

효율적인 애니메이션 감상

면접 대비

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

요약
M시간의 예산과 최대 K개 동시 시청이라는 조건에서, 한 묶음의 시청 시간이 그 묶음에서 가장 긴 애니메이션의 길이일 때 볼 수 있는 애니메이션 개수의 최댓값을 구한다.
난이도

보통10점 중 6점

유형
그리디, 정렬, 이분 탐색, 배열
정답자
아직 제출이 없습니다

문제

애니메이션 애호가이면서도 PS 애호가인 한별이는, 어느 날 PS를 하느라 보지 못한 애니메이션이 NN개나 된다는 것을 깨달았다!

그러나, PS를 너무 오랫동안 하지 않으면 solved.ac 스트릭이 깨지는 불상사를 당하기 때문에 한별이는 애니메이션을 최대 MM시간 동안만 보기로 했다. 이에 한별이는 애니메이션을 동시에 최대 KK개씩 묶어서 보기로 했는데, 한별이가 동시에 애니메이션을 보는 방법은 다음과 같다.

애니메이션을 보고 있지 않은 상태에서, 한별이는 아직 보지 않은 애니메이션 중 KK개 이하의 애니메이션을 동시에 보기 시작한다.

애니메이션을 보고 있는 도중에는 새로운 애니메이션을 보기 시작할 수 없다. 이로 인해, 한별이는 보기 시작한 애니메이션 중에서 가장 긴 애니메이션이 끝날 때까지 다른 애니메이션을 보기 시작할 수 없다.

한별이는 애니메이션 시청의 달인이기 때문에 애니메이션이 끝남과 동시에 새로운 애니메이션을 보기 시작할 수 있다.

NN개의 애니메이션 각각을 보는 데에 걸리는 시간이 주어질 때, MM시간 동안 볼 수 있는 애니메이션의 최대 개수를 구하시오.

입력

첫 번째 줄에 한별이가 봐야 하는 애니메이션의 개수 NN, 한별이가 애니메이션을 보는 데에 사용할 수 있는 시간을 나타내는 정수 MM, 한별이가 동시에 볼 수 있는 애니메이션의 개수 KK가 공백으로 구분되어 주어진다. (1≤N≤100,0001\le N\le 100\\,000, 0≤M≤1090\le M\le 10^9, 1≤K≤100,0001\le K\le 100\\,000)

두 번째 줄에 NN개의 애니메이션 각각을 보는 데에 걸리는 시간을 나타내는 정수 l_il\_i가 공백으로 구분되어 주어진다. (1≤l_i≤1091\le l\_i\le 10^9)

출력

한별이가 볼 수 있는 애니메이션의 최대 개수를 출력한다.

예제2

  1. 예제 1

    입력
    2 3 4
    3 4
    
    예상 출력
    1
    
  2. 예제 2

    입력
    3 15 2
    10 5 10
    
    예상 출력
    3