fun main(args: Array<String>) {
    val (N, A, B) = readLine()!!.split(" ").map { it.toInt() }
    val h = LongArray(N)
    for (i in 0 until N) {
        h[i] = readLine()!!.toLong()
    }

    var ok = 1000000000L
    var ng = -1L
    fun isOk(num: Long) : Boolean {
        var count = 0L
        for (i in 0 until N) {
            val remains = h[i] - B * num
            if (remains > 0) {
                count += remains / (A-B) + if (remains %(A-B) > 0) 1 else 0
            }
        }
        return count <= num
    }

    while (Math.abs(ok - ng) > 1L) {
        val mid = (ok + ng) / 2L

        if (isOk(mid)) {
            ok = mid
        } else {
            ng = mid
        }
    }

    println(ok)
}