#include <iostream>
using namespace std;
int total_item;
int dry;
int sup_dry;
const int N = 500500;
int wet[N];
bool check(int time) {
long long dry_already = time * dry;
int super_time = time;
for (int i = 1; i <= total_item; i++) {
if (wet[i] - dry_already > 0) {
super_time -= wet[i] - dry_already;
}
else {
continue;
}
}
if (super_time < 0) {
return false;
}
else {
return true;
}
}
int ans;
int main() {
cin >> total_item >> dry >> sup_dry;
for (int i = 1; i <= total_item; i++) {
cin >> wet[i];
}
double left = 0;
double right = N;
while (left <= right) {
double mid = (left + right) / 2;
if (check(mid)) {
ans = mid;
right = mid - 1;
}
else {
left = mid + 1;
}
}
cout << ans << endl;
return 0;
}