16 lines
298 B
Haskell
16 lines
298 B
Haskell
|
cost :: Int -> Int
|
||
|
cost x = (x `div` 3) - 2
|
||
|
|
||
|
fuel :: Int -> [Int]
|
||
|
fuel x
|
||
|
| cost x <= 0 = []
|
||
|
| otherwise = cost x : fuel (cost x)
|
||
|
|
||
|
totalCost :: Int -> Int
|
||
|
totalCost = sum . fuel
|
||
|
|
||
|
main :: IO ()
|
||
|
main = do
|
||
|
ls <- map read <$> lines <$> readFile "day1.txt"
|
||
|
print $ sum $ map totalCost ls
|