n,m,k=map(int,input().split())
data= list(map(int, input().split()))
data.sort()
first= data[-1]
second= data[-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)
k번 가장 큰 수를 더하고 2번째로 큰 수를 한번 더하는 문제이다. m번까지 반복할 것이니 m번째에서 브레이크를 걸어둔다. 이것이 코딩테스트다 책, 93pg내용이다.
'python' 카테고리의 다른 글
파이썬 0으로만 이루어진 큰 배열 만들기 [파이썬] (0) | 2022.08.13 |
---|---|
배열에 숫자 원소 추가하기 [python] (0) | 2022.08.13 |
파이썬 set, split, enumerate 정리 (0) | 2022.08.10 |
파이썬 2차원 배열 초기화시 주의할점 (0) | 2022.02.11 |
파이썬 문자열과 리스트의 차이 (0) | 2022.01.29 |