import scala.io.Source

object Main {

  def main(args: Array[String]) {
    val lines = Source.stdin.getLines.toSeq
    val arr = lines.head.split(" ").map(_.toLong)
    val a = arr(1)
    val b = arr(2)
    val hs = lines.tail.map(_.toLong)

    def isSat(t: Long): Boolean = {
      def go(xs: Seq[Long], count: Long): Boolean =
        if (count < 0) false
        else xs match {
          case Nil => true
          case x +: rest => go(rest, count - ((x - 1) / (a - b) + 1))
        }
      go(hs.map(_ - b * t).filter(_ > 0), t)
    }

    def minimize(lower: Long, upper: Long): Long =
      if (lower >= upper) upper
      else {
        val mid = (lower + upper) / 2
        if (isSat(mid)) minimize(lower, mid)
        else minimize(mid + 1, upper)
      }

    val lowerBound = hs.min / a
    val upperBound = hs.max / b
    println(minimize(lowerBound, upperBound))
  }

}
