aboutsummaryrefslogtreecommitdiff
path: root/execs/Day05.hs
blob: aae8f498b5b38449c7e9d354359a09a238fc5f7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
module Main where

import Data.Char (digitToInt)

doValidate = toInt . map readBin
toInt = foldl (\a x -> a * 2 + digitToInt x) 0
readBin 'F' = '0'
readBin 'L' = '0'
readBin _ = '1'

main :: IO ()
main = do
    n <- lines <$> readFile "input/05"
    let valids = map doValidate n
        ans1 = maximum valids
    print ans1
    print $ sum [minimum valids .. ans1] - sum valids