#include <bits/stdc++.h>
using namespace std;
int main() {
  int number_of_toppings, crust_price, topping_price, crust_calories;
  vector<int> topping_calories;
  cin >> number_of_toppings;
  cin >> crust_price;
  cin >> topping_price;
  cin >> crust_calories;
  topping_calories.resize(number_of_toppings);
  for (int i = 0; i < number_of_toppings; ++i) {
    cin >> topping_calories[i];
  }
  sort(topping_calories.begin(), topping_calories.end(), greater<int>());
  int total_calories = crust_calories;
  int total_price = crust_price;
  int calories_per_dollar = 0;
  for (int i = 0; i < number_of_toppings; ++i) {
    total_calories += topping_calories.at(i);
    total_price += topping_price;
    if (calories_per_dollar > (total_calories / total_price)) {
      break;
    } else {
      calories_per_dollar = total_calories / total_price;
    }
  }
  cout << calories_per_dollar;
  return 0;
}
