local mfl, mce, mma = math.floor, math.ceil, math.max

local n, a, b = io.read("*n", "*n", "*n")
local t = {}
local sum = 0
local maxval = 0
for i = 1, n do
  t[i] = io.read("*n")
  sum = sum + t[i]
  maxval = mma(maxval, t[i])
end

local min = mce(sum / (b * (n - 1) + a)) - 1
local max = mce(maxval / b)

local function check(c)
  local rem = c
  for i = 1, n do
    if b * c < t[i] then
      rem = rem - mce( (t[i] - b * c)/ (a - b))
    end
    if rem < 0 then break end
  end
  return 0 <= rem
end

while(1 < max - min) do
  local mid = mfl((min + max) / 2)
  if check(mid) then
    max = mid
  else
    min = mid
  end
end
print(max)
