Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- solve :: Int -> [Int] -> Int
- solve n = uncurry go . (M.fromList &&& last) . flip zip [1..]
- where
- go m (x,i)
- | i == n = x
- | otherwise = go m' (x',i')
- where
- m' = M.insert x i m
- x' = maybe 0 (i -) $ M.lookup x m
- i' = succ i
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement