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

HP = []



for _ in range(N):

    HP.append(int(eval(input())))



left = 0

right = max(HP)



def canKill(count):

    ness = 0

    for hp in HP:

        ness += max(-(-(hp - B * count) // (A - B)), 0)

    if ness <= count:

        return True

    return False



while right - left > 1:

    middle = left + (right - left) // 2

    if canKill(middle):

        right = middle

    else:

        left = middle



print(right)
import sys

input = sys.stdin.buffer.readline



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

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



ok = 10**18

ng = 0



def isOk(n):

    cnt = 0

    for h in H:

        h -= B * n

        if h > 0:

            cnt += -(-h // (A - B))

    return cnt <= n



while ok - ng > 1:

    mid = (ok + ng) // 2

    if isOk(mid):

        ok = mid

    else:

        ng = mid



print(ok)
N, A, B = list(map(int, input().split()))
HP = []
for _ in range(N):
    HP.append(int(eval(input())))
left = 0
right = max(HP)


def canKill(count):
    ness = 0
    for hp in HP:
        ness += max(-(-(hp - B * count) // (A - B)), 0)
    if ness <= count:
        return True
    return False


while right - left > 1:
    middle = left + (right - left) // 2
    if canKill(middle):
        right = middle
    else:
        left = middle
print(right)

import sys

input = sys.stdin.buffer.readline
N, A, B = list(map(int, input().split()))
H = [int(eval(input())) for _ in range(N)]
ok = 10**18
ng = 0


def isOk(n):
    cnt = 0
    for h in H:
        h -= B * n
        if h > 0:
            cnt += -(-h // (A - B))
    return cnt <= n


while ok - ng > 1:
    mid = (ok + ng) // 2
    if isOk(mid):
        ok = mid
    else:
        ng = mid
print(ok)

+import sys + +input = sys.stdin.buffer.readline -HP = [] -for _ in range(N): -    HP.append(int(eval(input()))) -left = 0 -right = max(HP) +H = [int(eval(input())) for _ in range(N)] +ok = 10**18 +ng = 0 -def canKill(count): -    ness = 0 -    for hp in HP: -        ness += max(-(-(hp - B * count) // (A - B)), 0) -    if ness <= count: -        return True -    return False +def isOk(n): +    cnt = 0 +    for h in H: +        h -= B * n +        if h > 0: +            cnt += -(-h // (A - B)) +    return cnt <= n -while right - left > 1: -    middle = left + (right - left) // 2 -    if canKill(middle): -        right = middle +while ok - ng > 1: +    mid = (ok + ng) // 2 +    if isOk(mid): +        ok = mid -        left = middle -print(right) +        ng = mid +print(ok)