import sys

input = sys.stdin.readline

N, A, B = list(map(int, input().split()))

h = []

for _ in range(N):

  h.append(int(eval(input())))

h.sort()

def explosive(x):

  c = 0

  for i in range(N):

    if h[i] > x * B:

      c += -(-(h[i] - x * B) // (A - B))

  if c <= x: return True

  else: return False

ng = 0

ok = 10 ** 9

m = 0

while ok - ng > 1:

  m = (ng + ok) // 2

  #print(m, explosive(m))

  if explosive(m):

    ok = m

  else:

    ng = m

print(ok)
import sys

input = sys.stdin.readline

N, A, B = list(map(int, input().split()))

h = [0] * N

for i in range(N): h[i] = int(eval(input()))

h.sort()



def check(x):

  t = [h[i] - x * B for i in range(N)]

  for i in range(N):

    if t[i] > 0:

      x -= -(-t[i] // (A - B))

      if x < 0: return False

  return x >= 0



ok = 10 ** 9

ng = 0

while ok - ng > 1:

  m = (ok + ng) // 2

  if check(m): ok = m

  else: ng = m

print(ok)
import sys

input = sys.stdin.readline
N, A, B = list(map(int, input().split()))
h = []
for _ in range(N):
    h.append(int(eval(input())))
h.sort()


def explosive(x):
    c = 0
    for i in range(N):
        if h[i] > x * B:
            c += -(-(h[i] - x * B) // (A - B))
    if c <= x:
        return True
    else:
        return False


ng = 0
ok = 10**9
m = 0
while ok - ng > 1:
    m = (ng + ok) // 2
    # print(m, explosive(m))
    if explosive(m):
        ok = m
    else:
        ng = m
print(ok)

import sys

input = sys.stdin.readline
N, A, B = list(map(int, input().split()))
h = [0] * N
for i in range(N):
    h[i] = int(eval(input()))
h.sort()


def check(x):
    t = [h[i] - x * B for i in range(N)]
    for i in range(N):
        if t[i] > 0:
            x -= -(-t[i] // (A - B))
            if x < 0:
                return False
    return x >= 0


ok = 10**9
ng = 0
while ok - ng > 1:
    m = (ok + ng) // 2
    if check(m):
        ok = m
    else:
        ng = m
print(ok)

-h = [] -for _ in range(N): -    h.append(int(eval(input()))) +h = [0] * N +for i in range(N): +    h[i] = int(eval(input())) -def explosive(x): -    c = 0 +def check(x): +    t = [h[i] - x * B for i in range(N)] -        if h[i] > x * B: -            c += -(-(h[i] - x * B) // (A - B)) -    if c <= x: -        return True -    else: -        return False +        if t[i] > 0: +            x -= -(-t[i] // (A - B)) +            if x < 0: +                return False +    return x >= 0 +ok = 10**9 -ok = 10**9 -m = 0 -    m = (ng + ok) // 2 -    # print(m, explosive(m)) -    if explosive(m): +    m = (ok + ng) // 2 +    if check(m):