Module: 그리디 알고리즘


Problem

7 /9


Risotto Nero 및 자기 생성자

Problem

Risotto Nero는 자기 생성자로부터 집을 모으는 것을 좋아합니다.
n개의 부품이 있고 i번째 부품의 크기는 si입니다. 
집을 짓기 위해서는 정확히 a개의 동일한 크기의 부품과 정확히 b개의 동일한 크기의 부품(k배 더 큰)이 필요합니다.

Risotto Nero가 지을 수 있는 최대 주택 수를 결정합니다.

입력:
첫 번째 줄에는 정수 n, a, b 및 k가 포함됩니다(1 < n, a, b < 300000, 2 < k < 1000).
두 번째 줄에는 일련의 부품 크기가 포함됩니다. — 정수 s1, s2, …, sn (1 ≤ si ≤ 10 < sup>6).

출력:
단일 정수 인쇄 — 주어진 n개의 부품으로 지을 수 있는 최대 주택 수.

예:
  <몸>
설명:
첫 번째 예에서 가장 좋은 옵션은 크기가 [1, 2, 2]인 부품으로 두 개의 주택을 짓고 치수가 [3, 6, 6]인 부품으로 하나의 집을 짓는 것입니다.
 
입력 출력
12 1 2 2
1 1 2 2 2 2 2 3 3 4 6 6
3
14 1 1 3
3 3 1 1 9 9 2 3 6 6 3 18 3 18
6
1 2 3 10
1000000
0