n,a,b=list(map(int,input().split()))

arr=[int(eval(input())) for _ in range(n)]

l=0

r=10**9+1

while r-l!=1:

  tmp=0

  m=(l+r)//2

  for i in range(n):

    if m*b>=arr[i]:

      continue

    else:

      tmp+=(arr[i]-m*b+(a-b-1))//(a-b)

  if tmp<=m:

    r=m

  else:

    l=m

print(r)
def cond(arr,m):

  tmp=0

  for i in range(n):

    if m*b>=arr[i]:

      continue

    else:

      tmp+=(arr[i]-m*b+(a-b-1))//(a-b)

  if tmp<=m:

    return True

  else:

    return False



def bisect(l,r):

    while r-l!=1:

        m=(r+l)//2

        if cond(arr,m)==True:

            r=m

        else:

            l=m

    return r



n,a,b=list(map(int,input().split()))

arr=[int(eval(input())) for _ in range(n)]

print((bisect(-1,10**9+1)))
n, a, b = list(map(int, input().split()))
arr = [int(eval(input())) for _ in range(n)]
l = 0
r = 10**9 + 1
while r - l != 1:
    tmp = 0
    m = (l + r) // 2
    for i in range(n):
        if m * b >= arr[i]:
            continue
        else:
            tmp += (arr[i] - m * b + (a - b - 1)) // (a - b)
    if tmp <= m:
        r = m
    else:
        l = m
print(r)

def cond(arr, m):
    tmp = 0
    for i in range(n):
        if m * b >= arr[i]:
            continue
        else:
            tmp += (arr[i] - m * b + (a - b - 1)) // (a - b)
    if tmp <= m:
        return True
    else:
        return False


def bisect(l, r):
    while r - l != 1:
        m = (r + l) // 2
        if cond(arr, m) == True:
            r = m
        else:
            l = m
    return r


n, a, b = list(map(int, input().split()))
arr = [int(eval(input())) for _ in range(n)]
print((bisect(-1, 10**9 + 1)))

-n, a, b = list(map(int, input().split())) -arr = [int(eval(input())) for _ in range(n)] -l = 0 -r = 10**9 + 1 -while r - l != 1: +def cond(arr, m): -    m = (l + r) // 2 -        r = m +        return True -        l = m -print(r) +        return False + + +def bisect(l, r): +    while r - l != 1: +        m = (r + l) // 2 +        if cond(arr, m) == True: +            r = m +        else: +            l = m +    return r + + +n, a, b = list(map(int, input().split())) +arr = [int(eval(input())) for _ in range(n)] +print((bisect(-1, 10**9 + 1)))