Algorithm/Greedy

[이코테] 큰 수의 법칙

킹우현 2023. 1. 29. 01:12

1. 교재 답안

# 교재 답안
# N, M, K를 공백으로 구분하여 입력받기
n,m,k = map(int,input().split())

# N개의 수를 공백으로 구분하여 입력받기
data = list(map(int,input().split()))

total = 0

data.sort(reverse=True)

count = int(m/(k+1))*k
count += m%(k+1)

total += count*data[0]
total += (m-count)*data[1]

print(total)

2. 본인의 답안

# 본인 풀이
n, m, k = map(int,input().split())
arr = list(map(int,input().split()))

arr.sort(reverse=True)

a = m // (k+1)
b = m % (k+1)

total = ((arr[0]*k)+arr[1])*a + (b*arr[0])
print(total)

 

 

'Algorithm > Greedy' 카테고리의 다른 글

[백준 11399번] ATM  (0) 2023.02.06
[백준 2839번] 설탕 배달  (0) 2023.02.06
[이코테] 무지의 먹방 라이브  (0) 2023.02.05
[이코테] 볼링공 고르기  (0) 2023.02.02
[이코테] 만들 수 없는 금액  (0) 2023.02.02