미네크래프트

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

요약
일렬로 놓인 N개의 암석에서 곡괭이질 비용 K_i와 이동 비용 P, 예산 T가 주어질 때 캘 수 있는 최대 돌 개수를 구한다.
난이도

보통10점 중 6점

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

문제

미네크래프트를 하는 디디는 집을 지으려고 돌을 채취하려 한다. 바위 NN개가 일렬로 놓여 있고, 디디는 지금 첫 번째 바위에 있다. 바위마다 강도가 같기도 하고 다르기도 해서, 바위 ii에서 돌을 캐는 데 필요한 곡괭이질 횟수 KiK_i도 서로 같거나 다르다. 디디는 돌을 채취하려고 다음 두 가지 행동을 할 수 있다.

  1. 시간 1을 써서, 지금 있는 바위에 곡괭이질을 한 번 한다.
  2. 시간 PP를 써서, 이웃한 바위로 이동한다.

한 바위에서 캐낼 수 있는 돌은 한 개이고, 그 바위에 곡괭이질을 KiK_i번 모두 해야 돌 한 개를 얻는다. 디디에게 시간 TT가 주어졌을 때, 채취할 수 있는 돌의 최대 개수를 출력하는 프로그램을 작성하라.

입력

첫째 줄에 정수 NN, TT, PP가 공백으로 구분되어 주어진다. (1≤N≤1051 \le N \le 10^5, 1≤T≤1091 \le T \le 10^9, 1≤P≤1051 \le P \le 10^5)

둘째 줄에 바위 ii에서 돌을 캐는 데 필요한 곡괭이질 횟수 KiK_i가 i=1,2,…,Ni = 1, 2, \dots, N 순서로 공백으로 구분되어 주어진다. (1≤Ki≤1051 \le K_i \le 10^5)

출력

채취할 수 있는 돌의 최대 개수를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    6 17 1
    3 5 2 6 9 1
    
    예상 출력
    4
    
  2. 예제 2

    입력
    1 1 1
    1
    
    예상 출력
    1