Advertisement
Guest User

Untitled

a guest
Dec 12th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module Main where
  2.  
  3. import qualified Data.Array as A
  4.  
  5. main ::  IO ()
  6. main = do size <- fmap read getLine :: IO Int
  7.           tree <- fmap (map read . words) getLine :: IO [Int]
  8.           let m = A.listArray (0, size) $ map (\x -> if x == -1 then 0 else 2 + fun1 (a A.! x)) tree
  9.               a = A.listArray (0, size) tree
  10.               fun1 i = if i == -1 then 1 else m A.! i
  11.           print $ maximum $ map fun1 tree
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement