3321 : 최고의 피자
numT = int(input()) #토핑수
costD, costT = map(int, input().split()) #도우가격, 토핑가격
calorieD = int(input()) #도우 칼로리
calorieT = [] #토핑 칼로리 리스트
for i in range(numT):
calorieT.append(input()) #토핑 칼로리
calD_1 = calorieD / costD
calAll = 0
for i in calorieT:
calAll = calAll + int(i)
costAll = costD + numT * costT
calT_1 = []
for i in range(numT):
calT_1.append(int(calorieT[i]) / costT )
calT_1.sort(reverse=True)
sumCal = calorieD
cnt = 0
for i in calT_1:
if sumCal / (costD + cnt * costT) > i:
continue
elif sumCal / (costD + cnt * costT) < i:
sumCal = sumCal + i * costT
cnt += 1
res = sumCal / (costD + cnt * costT)
print(int(res))
------------------------------------------------------------
numT = int(input()) #토핑수
costD, costT = map(int, input().split()) #도우가격, 토핑가격
calorieD = int(input()) #도우 칼로리
calorieT = [] #토핑 칼로리 리스트
for i in range(numT):
calorieT.append(input()) #토핑 칼로리
calD_1 = calorieD / costD
calT_1 = []
for i in range(numT):
calT_1.append(int(calorieT[i]) / costT )
calT_1.sort(reverse=True)
sumCal = calorieD
cnt = 0
for i in calT_1:
if sumCal / (costD + cnt * costT) > i:
continue
elif sumCal / (costD + cnt * costT) < i:
sumCal = sumCal + i * costT
cnt += 1
res = sumCal / (costD + cnt * costT)
print(int(res))
------------------------------------------------------------
numT = int(input()) #토핑수
costD, costT = map(int, input().split()) #도우가격, 토핑가격
calorieD = int(input()) #도우 칼로리
calorieT = [] #토핑 칼로리 리스트
for i in range(numT):
calorieT.append(input()) #토핑 칼로리
calD_1 = calorieD / costD
calT_1 = []
for i in range(numT):
calT_1.append(int(calorieT[i]) / costT )
calT_1.sort(reverse=True)
sumCal = calorieD
cnt = 0
for i in calT_1:
if sumCal / (costD + cnt * costT) > i:
continue
elif sumCal / (costD + cnt * costT) < i:
sumCal = sumCal + i * costT
cnt += 1
res = sumCal / (costD + cnt * costT)
print(int(res))