{-# LANGUAGE BangPatterns #-}

import Control.Monad
import qualified Data.ByteString.Char8 as C
import Data.List
import qualified Data.Vector.Unboxed as U

main = sol <$> (get <$> C.getLine) <*> (get <$> C.getContents) >>= print

sub [n,a,b] = sol [n,a,b] <$> replicateM n readLn

get = unfoldr (C.readInt . C.dropWhile (==' ')) 

sol [n,a,b] hs = bs (h `div` s) (h `dc` a) p
  where
  v = U.fromListN n hs
  h = U.foldl1' (+) v
  s = a + n*b
  p x = (x>=) . U.foldl1' (+) $ U.map (flip dc (a-b) . max 0 . subtract (x*b)) v

bs !l !r p
  | l+1>=r    = r
  | p m       = bs l m p
  | otherwise = bs m r p
  where m = (l+r) `div` 2

dc p q = (p+q-1) `div` q