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))
  

+ Recent posts