# -*- coding:utf-8 -*-

import math

import sys



line = input().split(' ')

N = int(line[0])

A = int(line[1])

B = int(line[2])

hn = sorted([int(eval(input())) for i in range(N)])



maxT = int(hn[-1] / B) + 1

minT = 0



def enough(T):

    count = sum([math.ceil((h - B*T) / (A-B)) if math.ceil((h - B*T) / (A-B)) >= 0 else 0 for h in hn])

    return True if count <= T else False



while True:

    med = int((maxT + minT) / 2)

    if enough(med):

        maxT = med

    else:

        minT = med

    if maxT - minT <= 1:

        break

print(maxT)

# -*- coding:utf-8 -*-

import math



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

hn = sorted([int(eval(input())) for i in range(N)])



maxT = int(hn[-1] / B) + 1

minT = 0



def enough(T):

    count = sum([math.ceil((h - B*T) / (A-B)) if (h - B*T) >= 0 else 0 for h in hn])

    return True if count <= T else False



while True:

    med = int((maxT + minT) / 2)

    if enough(med):

        maxT = med

    else:

        minT = med

    if maxT - minT <= 1:

        break

print(maxT)

# -*- coding:utf-8 -*-
import math
import sys

line = input().split(" ")
N = int(line[0])
A = int(line[1])
B = int(line[2])
hn = sorted([int(eval(input())) for i in range(N)])
maxT = int(hn[-1] / B) + 1
minT = 0


def enough(T):
    count = sum(
        [
            math.ceil((h - B * T) / (A - B))
            if math.ceil((h - B * T) / (A - B)) >= 0
            else 0
            for h in hn
        ]
    )
    return True if count <= T else False


while True:
    med = int((maxT + minT) / 2)
    if enough(med):
        maxT = med
    else:
        minT = med
    if maxT - minT <= 1:
        break
print(maxT)

# -*- coding:utf-8 -*-
import math

N, A, B = list(map(int, input().split(" ")))
hn = sorted([int(eval(input())) for i in range(N)])
maxT = int(hn[-1] / B) + 1
minT = 0


def enough(T):
    count = sum(
        [math.ceil((h - B * T) / (A - B)) if (h - B * T) >= 0 else 0 for h in hn]
    )
    return True if count <= T else False


while True:
    med = int((maxT + minT) / 2)
    if enough(med):
        maxT = med
    else:
        minT = med
    if maxT - minT <= 1:
        break
print(maxT)

-import sys -line = input().split(" ") -N = int(line[0]) -A = int(line[1]) -B = int(line[2]) +N, A, B = list(map(int, input().split(" "))) -        [ -            math.ceil((h - B * T) / (A - B)) -            if math.ceil((h - B * T) / (A - B)) >= 0 -            else 0 -            for h in hn -        ] +        [math.ceil((h - B * T) / (A - B)) if (h - B * T) >= 0 else 0 for h in hn]