import math



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

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





def check(t):

    cnt = 0

    ab = A - B

    bt = B * t

    for i in range(N):

        cnt += max(0, math.ceil((h[i] - bt) / ab))

    return cnt <= t





left = 1

right = max(h)

while right - left > 1:

    mid = (left + right) // 2

    if check(mid):

        right = mid

    else:

        left = mid

print(right)

import math



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

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





def check(t):

    cnt = 0

    ab = A - B

    bt = B * t

    for i in range(N):

        r = (h[i] - bt)

        if r <= 0:

            continue

        cnt += r // ab

        if r % ab:

            cnt += 1

    return cnt <= t





left = 1

right = max(h)

while right - left > 1:

    mid = (left + right) // 2

    if check(mid):

        right = mid

    else:

        left = mid

print(right)

import math

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


def check(t):
    cnt = 0
    ab = A - B
    bt = B * t
    for i in range(N):
        cnt += max(0, math.ceil((h[i] - bt) / ab))
    return cnt <= t


left = 1
right = max(h)
while right - left > 1:
    mid = (left + right) // 2
    if check(mid):
        right = mid
    else:
        left = mid
print(right)

import math

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


def check(t):
    cnt = 0
    ab = A - B
    bt = B * t
    for i in range(N):
        r = h[i] - bt
        if r <= 0:
            continue
        cnt += r // ab
        if r % ab:
            cnt += 1
    return cnt <= t


left = 1
right = max(h)
while right - left > 1:
    mid = (left + right) // 2
    if check(mid):
        right = mid
    else:
        left = mid
print(right)

-        cnt += max(0, math.ceil((h[i] - bt) / ab)) +        r = h[i] - bt +        if r <= 0: +            continue +        cnt += r // ab +        if r % ab: +            cnt += 1