def main():

    from math import ceil

    from copy import deepcopy

    n, a, b, *k = list(map(int, open(0).read().split()))

    k.sort()



    def check(x):

        q = deepcopy(k)

        cnt = 0

        while q:

            p = q.pop() - x * b

            if p <= 0:

                break

            cnt += ceil(p / (a - b))



        return cnt <= x



    l = 0

    r = k[-1]

    m = (l + r) // 2

    while l + 1 < r:

        if check(m):

            r = m

        else:

            l = m

        m = (l + r) // 2



    print((m+1))





if __name__ == '__main__':

    main()

def main():

    from math import ceil

    n, a, b, *k = list(map(int, open(0).read().split()))

    k.sort()



    l = 0

    r = k[-1]

    m = (l + r) // 2

    while l + 1 < r:

        c = sum(ceil((i - m * b) / (a - b)) if i - m * b > 0 else 0 for i in k)

        if c <= m:

            r = m

        else:

            l = m

        m = (l + r) // 2



    print(r)





if __name__ == '__main__':

    main()

def main():
    from math import ceil
    from copy import deepcopy

    n, a, b, *k = list(map(int, open(0).read().split()))
    k.sort()

    def check(x):
        q = deepcopy(k)
        cnt = 0
        while q:
            p = q.pop() - x * b
            if p <= 0:
                break
            cnt += ceil(p / (a - b))
        return cnt <= x

    l = 0
    r = k[-1]
    m = (l + r) // 2
    while l + 1 < r:
        if check(m):
            r = m
        else:
            l = m
        m = (l + r) // 2
    print((m + 1))


if __name__ == "__main__":
    main()

def main():
    from math import ceil

    n, a, b, *k = list(map(int, open(0).read().split()))
    k.sort()
    l = 0
    r = k[-1]
    m = (l + r) // 2
    while l + 1 < r:
        c = sum(ceil((i - m * b) / (a - b)) if i - m * b > 0 else 0 for i in k)
        if c <= m:
            r = m
        else:
            l = m
        m = (l + r) // 2
    print(r)


if __name__ == "__main__":
    main()

-    from copy import deepcopy - -    def check(x): -        q = deepcopy(k) -        cnt = 0 -        while q: -            p = q.pop() - x * b -            if p <= 0: -                break -            cnt += ceil(p / (a - b)) -        return cnt <= x - -        if check(m): +        c = sum(ceil((i - m * b) / (a - b)) if i - m * b > 0 else 0 for i in k) +        if c <= m: -    print((m + 1)) +    print(r)