전.py

[python] 큰 수의 법칙

jeonnew 2022. 2. 9. 16:00
728x90

- m번 더하여 가장 큰 수 만듦

- 연속해서 k번까지만 더할 수 있음

- 배열의 크기 n

 

=> 가장 큰 수 k번 더하기 그 다음으로 큰 수 1번 더하기 반복

 

n, m, k = map(int, input().split())
data = list(map(int, input().split()))

data.sort()
first = data[n-1] # 가장 큰 수
second = data[n-2] # 두 번째로 큰 수

result = 0

while True:
  for i in range(k):
    if m == 0:
      break
    result += first
    m -= 1
  if m == 0:
    break
  result += second
  m -= 1
print(result)
n, m, k = map(int, input().split())
data = list(map(int, input().split()))

data.sort()
first = data[n-1] # 가장 큰 수
second = data[n-2] # 두 번째로 큰 수

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

result = 0
result += count * first
result += (m - count) * second

print(result)

 

반응형