今日は雨だったので走らないことにしようと思ったが、夜には5kmほど走った。

GUで買ったヒートテックのおかげで防寒しながら快適に走れた。この気温になると走った後、背中から湯気が出るのはご愛嬌。

running


https://atcoder.jp/contests/hitachi2020/tasks/hitachi2020_b

training017 :: IO ()
training017 = do
  [a, b, m] <- getIntArray

  refri <- getIntArray
  microw <- getIntArray
  coupons <- replicateM m getIntArray

  let noCoupon = minimum refri + minimum microw

  let withCoupons =
        [ refri !! (x - 1) + microw !! (y - 1) - c
        | [x, y, c] <- coupons
        ]

  print $ minimum (noCoupon : withCoupons)

クーポンを使わない最小の値段とクーポンを使用した値段の中で最小を選ぶ問題。

let withCoupons =
        [ refri !! (x - 1) + microw !! (y - 1) - c
        | [x, y, c] <- coupons
        ]

このコードがHaskellらしい。couponsの各値を取り出して、左の式に代入していく。

このプログラムだと計算量がかかってしまうのでもう一回練り直さないと…