N,K = map(int,input().split())
money = []
Total_count = 0
for i in range(N):
  money.append(input())

money = list(map(int, money))
money.sort(reverse=True)

for i in range(0,N): 
  if int(money[i]) <= K:
    Total_count += int(K/int(money[i]))
    count = int(K/int(money[i]))
    K = K-count*int(money[i])
  elif K <= 0:
    break

print(Total_count)


(백준) 2798번 - 블랙잭

a,b = map(int,input().split())
cardd = list(map(int,input().split(' ')))

summ=0
sum_2 = []
for i in range(0,a-2):
  for j in range(i+1,a-1):
    for k in range(j+1,a):
      summ = cardd[i] + cardd[j] + cardd[k]
      if summ <= b:
        sum_2.append(summ)
print(max(sum_2))
        

 
a,b,c = map(int,input().split())
for i in range(a):
  for j in range(b):
    for k in range(c):
      print(i,j,k)
print(a*b*c)

(codeup) 1928 : (재귀함수) 우박수 (3n+1) (basic)

n = int(input())
def Collatz(n):
  if n == 1:
    print(1)
    return 0
  if n % 2 == 0:
    print(n)
    n = int(n / 2)
    Collatz(n)
  elif n % 2 != 0:
    print(n)
    n = int(3*n+1)
    Collatz(n)
Collatz(n)
    

(codeup) 1915 : (재귀함수) 피보나치 수열 

n = int(input())

def fibo(n,res):
  if n<1:
    return 0
  elif n==1:
    res = res + 1
  else:
    res = res + fibo(n-2,res) + fibo(n-1,res)
  
  return(res)
  

print(fibo(n,0))

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