JOI2008予選 問題1@Haskell

こんどはHaskellでやってみた。

solve :: Int -> [Int] -> Int -> Int
solve price [] count = count
solve price clist count | price >= (head clist) = solve (price - (head clist)) clist (count + 1)
                        | otherwise = solve price (tail clist) count

main :: IO()
main = do line0 <- getLine
          putStrLn $ (show (solve (1000 - (read line0)) [500,100,50,10,5,1] 0))