module Main where main :: IO () main = do input <- getContents let numbers = map (read :: String -> Integer) (lines input) putStr "part 1: " let zippedInts = zip numbers (tail numbers) -- let count = filter (\(x,y) -> y > x) zippedInts let count = filter (<0) (zipWith (-) numbers (tail numbers)) putStrLn $ show $ length count putStr "part 2: " let sums = zipWith3 (\x y z -> x + y + z) numbers (tail numbers) (tail (tail numbers)) putStrLn $ show $ length $ filter (<0) $ zipWith (-) sums (tail sums) return ()