これはボトルネックで全体のスループットがきまるというやつ。また、さっそく AtCoder に登録したら次にやること にのってた、(a + b - 1) / b をつかった。
これは、べつに他の言語で書いてみるまでもない気がするので、Haskell のみで。
我ながら入出力とか書くのが下手すぎ。<$> とか使ったら簡潔にかけるん?(わかってない)
readInt の型を明示しているので、(4 :: Int) は完全に余計。 ユーティリティ関数、ネーミング含め整備していかないとね。
import Control.Monad readInt :: IO Int readInt = do s <- getLine return $ read s main = do n <- readInt a <- readInt b <- readInt c <- readInt d <- readInt e <- readInt let wb = minimum [a, b, c, d, e] -- wb: width of the bottleneck ans = (n + wb - 1) `div` wb + (4::Int) print ans