{-# OPTIONS_GHC -O2 -funbox-strict-fields #-}
import qualified Data.ByteString.Char8 as B
import           Data.Char             (isSpace)
import qualified Data.Vector.Unboxed   as V

main :: IO ()
main = do
  n <- readLn
  ls <- V.unfoldrN n parseInt <$> B.getLine
  putStrLn $ if solve n ls then "Yes" else "No"

solve :: Int -> V.Vector Int -> Bool
solve _ ls = m < V.sum (V.take i ls) + V.sum (V.drop (i + 1) ls)
  where i = V.maxIndex ls
        m = ls V.! i

parseInt :: B.ByteString -> Maybe (Int, B.ByteString)
parseInt = B.readInt . B.dropWhile isSpace
