매장
시간 제한2초메모리 제한512 MB
물건 가격들이 주어질 때, 각 영수증에서 가장 싼 floor(개수/k)개의 물건이 무료가 되도록 영수증을 나누어 지불 총액을 최소로 만든다.
문제
빌은 대가족이다. 아들이 셋, 손자가 아홉이다. 모두를 먹여야 하므로 빌은 일주일에 한 번 매장에 간다.
어느 날 빌은 매장에서 <<번째 상품마다 무료>>라는 행사를 보고 있다는 것을 알게 되었다. 행사 규칙을 살펴본 빌은 다음 사실을 알아냈다. 계산대에서 상품을 찍으면 영수증이 나온다. 영수증에 상품이 개 있으면, 그중 가장 싼 개(내림)가 무료로 주어진다.
예를 들어 영수증에 200, 100, 1000, 400, 100루블짜리 상품 다섯 개가 있고 라면, 100루블짜리 상품 두 개가 무료가 되고, 구매자는 총 1600루블을 내야 한다.
빌은 이미 상품을 골라 계산대로 향하던 중, 사려는 상품을 여러 영수증으로 나누면 돈을 덜 쓸 수 있다는 것을 깨달았다.
빌이 고른 상품을 여러 영수증으로 나누었을 때 낼 수 있는 최소 금액을 구하도록 도와주자.
입력
첫째 줄에 정수 , 가 주어진다(, ). 은 빌이 사려는 상품의 개수이고, 는 <<번째 상품마다 무료>> 행사의 매개변수이다.
다음 줄에 개의 정수 가 주어진다(). 는 빌이 사는 상품의 가격이다.
출력
빌이 상품에 대해 내야 하는 최소 금액을 하나의 수로 출력한다.
힌트
위 예에서 빌은 상품을 두 영수증으로 나눌 수 있다. 한 영수증에는 1000루블과 400루블짜리 상품이 들어가고, 이 영수증에서는 400루블짜리 상품이 무료가 된다. 다른 영수증에는 나머지 상품이 들어가고, 여기서는 100루블짜리 상품 하나가 무료가 된다. 따라서 빌은 1300루블을 내야 한다.