19 lines
538 B
Haskell
19 lines
538 B
Haskell
import Data.List.Split (splitOn)
|
|
|
|
winsFromTimeDist :: (Int, Int) -> Int
|
|
winsFromTimeDist (time, dist) = length $ filter (> dist) $ zipWith (*) [0..time] (reverse [0..time])
|
|
|
|
main :: IO ()
|
|
main = do
|
|
lines <- lines <$> getContents
|
|
|
|
-- let values = map (map (\y -> read y :: Int) . splitOn [' '] . drop 9) lines
|
|
let values = map (map read . filter (/= "") . splitOn [' '] . drop 9) lines :: [[Int]]
|
|
let time_dist = zip (values!!0) (values!!1)
|
|
let wins = map winsFromTimeDist time_dist
|
|
let result = product wins
|
|
|
|
print result
|
|
|
|
|