import Control.Monad
import Data.Maybe
import qualified Data.ByteString.Char8 as BS
import Data.List

readInt = fst . fromJust . BS.readInt
readIntList = map readInt . BS.words
getInt = readInt <$> BS.getLine
getIntList = readIntList <$> BS.getLine

main = do
    [n,a,b] <- getIntList
    hs <- replicateM n getInt
    let f k = sum $ map (g2 . g1) hs
            where g1 h = max 0 $ h - k * b 
                  g2 h | h == 0 = 0
                       | otherwise = (h-1) `div` (a-b) + 1
    let bs l r | r - l == 1 = r
               | f m <= m = bs l m
               | otherwise = bs m r
               where m = l + (r - l) `div` 2
    print $ bs 1 1000000000