/* -*- coding: utf-8 -*- * * 1071.cc: No.1071 ベホマラー - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_N = 100000; const long long LINF = 1LL << 62; /* typedef */ typedef long long ll; /* global variables */ int cs[MAX_N]; /* subroutines */ /* main */ int main() { int n, k, x, y; scanf("%d%d%d%d", &n, &k, &x, &y); for (int i = 0; i < n; i++) { int ai; scanf("%d", &ai); cs[i] = ((ai - 1) + (k - 1)) / k; } sort(cs, cs + n); ll sum = 0; for (int i = 0, pc = 0; i < n; i++) { if (y < (ll)(n - i) * x) sum += (ll)(cs[i] - pc) * y; else sum += (ll)(cs[i] - pc) * (n - i) * x; pc = cs[i]; } printf("%lld\n", sum); return 0; }