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

H = [int(eval(input())) for _ in range(N)]



d = A-B



def judge(k):

    cnt = 0

    remain = [max(h-k*B,0) for h in H]

    for r in remain:

        cnt += -(-r // d)

    if cnt <= k:

        return True

    else:

        return False



def biserch(ok,ng,judge):

    while abs(ok-ng) > 1:

        mid = (ok+ng) // 2

        if judge(mid):

            ok = mid

        else:

            ng = mid

    return ok



ans = biserch(10**9,-1,judge)

print(ans)
import sys

input = sys.stdin.readline



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

H = [int(eval(input())) for _ in range(N)]



def judge(k):

    cnt = 0

    for h in H:

        cnt += -(-(max(h-k*B,0))//(A-B))

    if cnt <= k:

        return True

    return False



def biserch(ok,ng,judge):

    while abs(ok-ng) > 1:

        mid = (ok+ng) // 2

        if judge(mid):

            ok = mid

        else:

            ng = mid

    return ok



ans = biserch(max(H),-1,judge)

print(ans)
N, A, B = list(map(int, input().split()))
H = [int(eval(input())) for _ in range(N)]
d = A - B


def judge(k):
    cnt = 0
    remain = [max(h - k * B, 0) for h in H]
    for r in remain:
        cnt += -(-r // d)
    if cnt <= k:
        return True
    else:
        return False


def biserch(ok, ng, judge):
    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2
        if judge(mid):
            ok = mid
        else:
            ng = mid
    return ok


ans = biserch(10**9, -1, judge)
print(ans)

import sys

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


def judge(k):
    cnt = 0
    for h in H:
        cnt += -(-(max(h - k * B, 0)) // (A - B))
    if cnt <= k:
        return True
    return False


def biserch(ok, ng, judge):
    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2
        if judge(mid):
            ok = mid
        else:
            ng = mid
    return ok


ans = biserch(max(H), -1, judge)
print(ans)

+import sys + +input = sys.stdin.readline -d = A - B -    remain = [max(h - k * B, 0) for h in H] -    for r in remain: -        cnt += -(-r // d) +    for h in H: +        cnt += -(-(max(h - k * B, 0)) // (A - B)) -    else: -        return False +    return False -ans = biserch(10**9, -1, judge) +ans = biserch(max(H), -1, judge)