소들의 자동차
시간 제한1초메모리 제한128 MB
소들을 M개의 차선에 배치해 각 소의 속도에서 같은 차선 앞차 수 곱하기 D를 뺀 값이 L 이상이 되도록 하면서, 도로를 이용하는 소의 수를 최대로 구한다.
문제
마리()의 소가 번부터 번까지 번호를 달고, 각자 자동차를 몰고 고속도로를 달린다. 고속도로에는 개()의 차선이 있으며, 모든 소는 어느 차선이든 선택할 수 있다. 번 소의 최고 속도는 () km/h이다.
충돌을 피하기 위해, 번 소는 같은 차선에서 자기 앞에 있는 소 한 마리당 속도를 () km/h씩 줄인다. 따라서 같은 차선에서 번 소 앞에 마리의 소가 있으면, 이 소는 km/h로 달린다. 소들은 이렇게 속도를 줄이면 충돌이 일어나지 않을 만큼 충분히 떨어져 있다.
최저 속도 법에 따라 고속도로 위의 모든 소는 최소 () km/h 이상으로 달려야 하므로, 일부 소는 고속도로를 이용하지 못할 수도 있다. 최저 속도 법을 지키면서 고속도로를 달릴 수 있는 소의 최대 마릿수를 구하여라.
입력
- 첫째 줄: 공백으로 구분된 네 정수 , , , .
- 번째 줄부터 번째 줄까지: 번째 줄에는 번 소의 최고 속도 가 하나의 정수로 주어진다.
출력
- 고속도로를 이용할 수 있는 소의 최대 마릿수를 나타내는 정수 하나를 출력한다.
힌트
소가 세 마리, 차선이 하나, 소 한 마리당 감속량이 , 최저 속도가 일 때, 최대 두 마리가 달릴 수 있다. 속도가 인 소를 맨 앞에 두면 그대로 로 달리고, 속도가 인 소를 두 번째에 두면 으로 달리므로, 두 소 모두 최저 속도 를 만족한다.