abc123C

Five Transportations (300点)

これはボトルネックで全体のスループットがきまるというやつ。また、さっそく AtCoder に登録したら次にやること にのってた、(a + b - 1) / b をつかった。

これは、べつに他の言語で書いてみるまでもない気がするので、Haskell のみで。

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