/**
 * pizza.cpp
 * Authorl: Tatsuro Ide
 * Date: 2/7/2017
 * Desc: Competitive Programming AOJ0567
 */

#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>

using namespace std;

int main()
{
	int number_of_toppings, crust_price, topping_price, crust_calories;
	vector<int> topping_calories;

	// get inputs.
	cin >> number_of_toppings;
	cin >> crust_price;
	cin >> topping_price;
	cin >> crust_calories;

	// allocate memory.
	topping_calories.resize(number_of_toppings);

	// store the toppings' calories.
	for(int i = 0; i < number_of_toppings; ++i)
	{
		cin >> topping_calories[i];
	}

	// sort the calories (descending order).
	sort(topping_calories.begin(), topping_calories.end(), greater<int>());

	int total_calories = crust_calories;
	int total_price = crust_price;
	int calories_per_dollar;

	for(int i = 0; i < number_of_toppings; ++i)
	{
		total_calories += topping_calories;
		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;
}