import qualified Data.IntMap as M import Data.List main = getContents >>= print . sushi . map read . tail . words sushi = fst . M.findMax . foldl' dp (M.singleton 0 True) dp im v = M.unionWith (||) (M.map (const True) im) im' where im' = M.map (const False) $ M.mapKeys (+v) (M.filter id im)