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

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

Метро

면접 대비

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

요약
n개의 카드에 p개의 코인을 나누어 넣어, 한 번에 k씩 차감되는 카드들로 최대 몇 번 탈 수 있는지 구한다.
난이도

보통10점 중 5점

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

문제

Пафнутий решил использовать метро, чтобы достичь своей цели.

Чтобы пройти через турникет, надо использовать специальную карточку SLON (Subterranean Lowcost Orientational Network). У каждой карточки есть неотрицательный целый баланс --- количество бурлей, которые записаны на карточке. Если на карточке есть хотя бы kk бурлей, то пройти через турникет возможно, после чего баланс карточки уменьшается на kk бурлей. Если же на карточке меньше kk бурлей, то Пафнутий не сможет ей воспользоваться, чтобы пройти через турникет.

Изначально у Пафнутия есть nn карточек, баланс карточки с номером ii составляет a_ia\_i бурлей. Также Пафнутий накопил pp бурлей и может как угодно распределить эти деньги между карточками. Формально, пусть Пафнутий к балансу карточки с номером ii добавил add_i≥0add\_i \ge 0 бурлей, тогда должно выполняться условие add_1+add_2+…+add_n≤padd\_1 + add\_2 + \ldots + add\_n \le p. Возможности перераспределять деньги между карточками нет, то есть баланс карточки может увеличиваться только за счет какой-то части из этих pp бурлей и уменьшаться только при проходе через турникет.

Пафнутий не очень любит математику. Помогите ему определить, какое максимальное количество раз он сможет поехать на метро, если распределит pp бурлей по карточкам оптимально.

입력

В первой строке заданы три целых числа nn, pp и kk (1≤n≤1051 \leq n \leq 10^5, 0≤p≤10180 \leq p \leq 10^{18}, 1≤k≤1091 \leq k \leq 10^9) --- количество карточек, накопленная сумма и плата за один проход через турникет, соответственно.

Во второй строке задано nn целых чисел a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n (0≤a_i≤1090 \leq a\_i \leq 10^9) --- балансы карточек.

출력

Выведите одно целое число --- максимальное количество раз, которое Пафнутий сможет поехать на метро.

힌트

В первом примере из условия изначально можно поехать только 3 раза. Но если добавить 1 бурль на первую, вторую или третью карточку, то Пафнутий сможет поехать на метро 4 раза.

Во втором примере 1000 бурлей хватит только для того, чтобы сделать баланс обеих карточек равным 2000 бурлям.

예제2

  1. 예제 1

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

    입력
    2 1000 2000
    1299 1701
    
    예상 출력
    2