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내용이다.