wvogel日記

自分用の技術備忘録が多めです.

codeforces

func_hsさんが放送していたのをきっかけに、codeforcesの問題に久々に挑戦してみた。
問題文はこちら

見た感じ、Haskellが得意そうな問題です

main = do nab <- getLine
          let (n:a:b:_) = map read $ words nab
          print $ findAnswer (take n $ repeat 1) a b

findAnswer :: [Int] -> Int -> Int -> Int
findAnswer list a b = length $ filter f [0..a]
  where
    f :: Int -> Bool
    f k =  b <= (length $ drop k list)

何も考えずに書いたので汚いですが、これで答えは出ると思います


これは誤りです。
正答は【codeforces修正】という記事に掲載