오렌지 출하
시간 제한1초메모리 제한256 MB
컨베이어 위 귤을 순서대로 최대 M개씩 상자에 나누어 담을 때 상자당 포장비와 크기 차이에 개수를 곱한 비용의 합을 최소화합니다.
문제
Juicy Orange Industry(JOI)는 맛있는 오렌지를 상자에 포장해 출하하는 회사다.
JOI는 모아 둔 오렌지 개를 상자에 담아 출하한다. 먼저 오렌지를 공장의 컨베이어 벨트 위에 한 줄로 놓는다. 벨트 위의 오렌지에는 앞에서부터 차례로 번부터 번까지 번호가 붙어 있고, 번 오렌지의 크기는 이다.
다음으로 오렌지를 앞에서부터 순서대로 상자에 나누어 담는다. 한 상자에 담는 오렌지의 번호는 연속해야 한다.
한 상자에는 오렌지를 최대 개까지 담을 수 있다. 상자 하나에 오렌지를 담는 비용은 이다. 여기서 는 그 상자에 담은 오렌지 크기의 최댓값, 는 최솟값, 는 담은 오렌지의 개수다. 는 상자를 포장하는 비용이고 모든 상자에 똑같이 적용된다.
컨베이어 벨트 위에 놓인 오렌지의 정보, 한 상자에 담을 수 있는 오렌지 개수의 최댓값, 상자를 포장하는 비용 가 주어질 때 오렌지를 모두 포장하는 비용의 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 오렌지의 개수 (), 한 상자에 담을 수 있는 오렌지 개수의 최댓값 (, ), 상자를 포장하는 비용 ()가 공백으로 구분되어 주어진다.
둘째 줄부터 개의 줄에 오렌지의 크기 ()가 순서대로 한 줄에 하나씩 주어진다.
출력
첫째 줄에 오렌지를 모두 포장하는 비용의 최솟값을 출력한다.