これはボトルネックで全体のスループットがきまるというやつ。また、さっそく 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