물컵 비우기
시간 제한2초메모리 제한32 MB
N개의 잔과 잔 사이를 옮기는 비용이 주어질 때, 물이 담긴 잔을 K개 이하로 남기는 최소 비용을 구한다.
문제
미슬라브는 부피가 무한한 컵을 개 가지고 있고, 각 컵에는 물이 조금씩 들어 있다. 미슬라브는 물을 모두 마시고 싶지만, 컵을 개보다 많이 쓰고 싶지는 않다. 미슬라브가 할 수 있는 일은 한 컵에 든 물을 전부 다른 컵으로 옮겨 붓는 것뿐이다.
컵마다 미슬라브에게서 떨어진 거리가 달라서 어느 컵을 고르는지가 중요하다. 번 컵의 물을 번 컵으로 옮기는 데 드는 힘은 이다.
물이 남아 있는 컵이 개 이하가 되도록 물을 옮길 때, 드는 힘의 합의 최솟값을 구하여라.
입력
첫째 줄에 정수 과 가 주어진다. ()
다음 개 줄에는 정수가 개씩 주어진다. 번째 줄의 번째 수가 이다. () 모든 에 대해 이다.
출력
미슬라브가 목표를 이루는 데 드는 힘의 합의 최솟값을 한 줄에 출력한다.
힌트
물이 든 컵이 처음부터 개 이하이면 물을 옮길 필요가 없고, 답은 0이다.
물은 여러 컵을 거쳐 갈 수 있다. 번 컵의 물을 번 컵으로 옮긴 뒤, 번 컵의 물을 다시 번 컵으로 옮겨도 된다.