인터넷 보급 문제

일직선 위 마을에 1개부터 N개까지 기지국을 세울 때, 각 집이 가장 가까운 기지국에 연결되도록 하면서 기지국 비용과 케이블 비용의 합을 최소로 만드는 값을 각 개수마다 구한다.

어려움8동적 계획법분할 정복누적 합그리디아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

정부가 긴 고속도로를 따라 늘어선 작은 마을에 인터넷을 보급하려고 한다. 마을은 고속도로를 따라 NN개가 나란히 붙어 있고, 각 마을은 고속도로를 정확히 1킬로미터씩 차지한다. 마을에는 고속도로를 따라 1번부터 NN번까지 차례로 번호가 붙어 있다.

인터넷을 연결하려면 위성 회선을 갖춘 접속국을 세워야 한다. 접속국은 서로 다른 마을에 하나씩 세우고, 하나를 세우는 비용은 BB이다. 정부는 품질을 최대한 높이려고 하기 때문에 모든 집을 접속국 중 하나에 직접 연결한다. ii번 마을의 집을 jj번 마을의 접속국에 연결하면 케이블 비용은 ij×C|i - j| \times C이고, CC는 케이블 1킬로미터의 가격이다. 마을 안에서 쓰는 케이블 값은 무시할 만큼 작으므로, 접속국이 있는 마을의 집을 그 접속국에 연결하면 케이블 비용은 0이다.

NN, BB, CC와 각 마을의 집 개수가 주어질 때, 모든 마을의 모든 집을 인터넷에 연결하는 최소 비용을 구하는 프로그램을 작성하시오. 비용은 접속국을 세우는 값과 각 집의 케이블 값을 모두 더한 값이다. 접속국을 몇 개 세울지는 아직 정하지 않았으므로, 접속국이 1개, 2개, \dots, NN개일 때의 최소 비용을 각각 구해야 한다.

입력

첫째 줄에 마을의 수 NN, 접속국 하나를 세우는 비용 BB, 케이블 1킬로미터의 가격 CC가 공백으로 구분되어 주어진다 (1N60001 \le N \le 6000, 1B1091 \le B \le 10^9, 1C1001 \le C \le 100).

둘째 줄에 NN개의 정수 H1,H2,,HNH_1, H_2, \dots, H_N이 공백으로 구분되어 주어진다. HiH_iii번 마을의 집 개수이다 (1Hi1091 \le H_i \le 10^9).

출력

접속국을 1개, 2개, \dots, NN개 세울 때 모든 집을 연결하는 최소 총비용 NN개를 공백 하나로 구분해 한 줄에 출력한다.