시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
이다솜은 여러 개의 나무를 가지고 있다. 지역 목재상은 한 번의 판매에서 길이가 모두 같은 나무 조각만 사 준다. 이다솜은 작업장에서 나무를 잘라 같은 길이의 조각들을 만들 수 있다. 나무를 한 번 자를 때마다 C원이 들고, 목재상은 나무 한 단위를 W원에 산다.
목표 길이를 L로 정하면, 길이가 x인 나무에서는 floor(x / L)개의 조각을 얻을 수 있다. x가 L로 나누어떨어지면 필요한 절단 횟수는 floor(x / L) - 1번이고, 그렇지 않으면 남는 부분을 버리기 위해 floor(x / L)번 자르면 된다. 어떤 나무에서 얻는 판매 금액이 절단 비용보다 작거나 같다면 그 나무는 팔지 않아도 된다.
현재 가진 나무들의 길이가 주어졌을 때, 이다솜이 벌 수 있는 최대 금액을 구하시오.
첫째 줄에 나무의 개수 N, 나무를 한 번 자르는 비용 C, 나무 한 단위의 가격 W가 주어진다. 다음 N개의 줄에는 이다솜이 가진 나무의 길이가 한 줄에 하나씩 주어진다.
N은 50 이하의 자연수이고, C와 W는 10,000 이하의 자연수이다. 모든 나무의 길이는 10,000 이하의 자연수이다.
첫째 줄에 이다솜이 벌 수 있는 최대 금액을 출력한다.