Submission #156176
Source Code Expand
{-# LANGUAGE BangPatterns #-} import Control.Applicative import Control.Monad import qualified Data.ByteString.Char8 as S import Data.List import Data.Maybe import Text.Printf import Data.Vector.Generic ((!)) import qualified Data.Vector as V import qualified Data.Vector.Unboxed as U import qualified Data.Vector.Unboxed.Mutable as UM import Data.STRef -- util getInts :: IO [Int] getInts = catMaybes . map (fmap fst . S.readInt) . S.words <$> S.getContents getInt :: IO Int getInt = fst . fromJust . S.readInt <$> S.getLine -- main main :: IO () main = do n <- getInt ns <- getInts print $ n + 1 - lcs ns lcs :: [Int] -> Int lcs xs = max 1 $ U.maximum tbl where v = U.fromList $ 0 : xs n = U.length v tbl = U.create $ do r <- UM.replicate (n+1) 0 UM.write r 0 1 forM_ [1..n-1] $ \i -> do m <- newSTRef 0 forM_ [0..i-1] $ \j -> do when (v!i > v!j) $ do p <- UM.read r j modifySTRef m $ max (p+1) UM.write r i =<< readSTRef m return r {- lcs xs = f (-1) 0 where v = V.fromList xs n = V.length v tbl = V.generate (n+1) $ \i -> do V.generate (n+1) $ \j -> do f (i-1) j f !prev !cur | cur >= n = 0 | prev >= 0 && (v!prev) > (v!cur) = tbl!(prev+1)!(cur+1) | otherwise = max (tbl!(prev+1)!(cur+1)) (1+(tbl!(cur+1)!(cur+1))) -}
Submission Info
Submission Time | |
---|---|
Task | D - トランプ挿入ソート |
User | tanakh |
Language | Haskell (GHC 7.4.1) |
Score | 50 |
Code Size | 1458 Byte |
Status | TLE |
Exec Time | 2032 ms |
Memory | 4636 KB |
Judge Result
Set Name | smallA | smallB | all | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 10 / 10 | 40 / 40 | 0 / 50 | ||||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
smallA | test_01_ABC.txt, test_04_ABC.txt, test_07_ABC.txt, test_10_ABC.txt, test_13_ABC.txt, test_16_ABC.txt, test_19_ABC.txt, test_22_ABC.txt, test_25_ABC.txt, test_28_ABC.txt, test_31_ABC.txt, test_32_ABC.txt, test_35_ABC.txt, test_38_ABC.txt, test_41_ABC.txt, test_44_ABC.txt, test_47_ABC.txt, test_50_ABC.txt, test_53_ABC.txt |
smallB | test_01_ABC.txt, test_02_AB.txt, test_04_ABC.txt, test_05_AB.txt, test_07_ABC.txt, test_08_AB.txt, test_10_ABC.txt, test_11_AB.txt, test_13_ABC.txt, test_14_AB.txt, test_16_ABC.txt, test_17_AB.txt, test_19_ABC.txt, test_20_AB.txt, test_22_ABC.txt, test_23_AB.txt, test_25_ABC.txt, test_26_AB.txt, test_28_ABC.txt, test_29_AB.txt, test_31_ABC.txt, test_32_ABC.txt, test_33_AB.txt, test_35_ABC.txt, test_36_AB.txt, test_38_ABC.txt, test_39_AB.txt, test_41_ABC.txt, test_42_AB.txt, test_44_ABC.txt, test_45_AB.txt, test_47_ABC.txt, test_48_AB.txt, test_50_ABC.txt, test_51_AB.txt, test_53_ABC.txt, test_54_AB.txt |
all | test_01_ABC.txt, test_02_AB.txt, test_03_A.txt, test_04_ABC.txt, test_05_AB.txt, test_06_A.txt, test_07_ABC.txt, test_08_AB.txt, test_09_A.txt, test_10_ABC.txt, test_11_AB.txt, test_12_A.txt, test_13_ABC.txt, test_14_AB.txt, test_15_A.txt, test_16_ABC.txt, test_17_AB.txt, test_18_A.txt, test_19_ABC.txt, test_20_AB.txt, test_21_A.txt, test_22_ABC.txt, test_23_AB.txt, test_24_A.txt, test_25_ABC.txt, test_26_AB.txt, test_27_A.txt, test_28_ABC.txt, test_29_AB.txt, test_30_A.txt, test_31_ABC.txt, test_32_ABC.txt, test_33_AB.txt, test_34_A.txt, test_35_ABC.txt, test_36_AB.txt, test_37_A.txt, test_38_ABC.txt, test_39_AB.txt, test_40_A.txt, test_41_ABC.txt, test_42_AB.txt, test_43_A.txt, test_44_ABC.txt, test_45_AB.txt, test_46_A.txt, test_47_ABC.txt, test_48_AB.txt, test_49_A.txt, test_50_ABC.txt, test_51_AB.txt, test_52_A.txt, test_53_ABC.txt, test_54_AB.txt, test_55_A.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 97 ms | 1176 KB |
sample_02.txt | AC | 28 ms | 1264 KB |
sample_03.txt | AC | 28 ms | 1184 KB |
test_01_ABC.txt | AC | 28 ms | 1180 KB |
test_02_AB.txt | AC | 42 ms | 1812 KB |
test_03_A.txt | TLE | 2030 ms | 4120 KB |
test_04_ABC.txt | AC | 31 ms | 1340 KB |
test_05_AB.txt | AC | 39 ms | 1824 KB |
test_06_A.txt | AC | 165 ms | 2328 KB |
test_07_ABC.txt | AC | 27 ms | 1180 KB |
test_08_AB.txt | AC | 41 ms | 1820 KB |
test_09_A.txt | TLE | 2030 ms | 4316 KB |
test_10_ABC.txt | AC | 29 ms | 1264 KB |
test_11_AB.txt | AC | 30 ms | 1688 KB |
test_12_A.txt | TLE | 2031 ms | 3744 KB |
test_13_ABC.txt | AC | 31 ms | 1184 KB |
test_14_AB.txt | AC | 41 ms | 1824 KB |
test_15_A.txt | TLE | 2030 ms | 4208 KB |
test_16_ABC.txt | AC | 30 ms | 1176 KB |
test_17_AB.txt | AC | 33 ms | 1820 KB |
test_18_A.txt | AC | 84 ms | 2212 KB |
test_19_ABC.txt | AC | 25 ms | 1308 KB |
test_20_AB.txt | AC | 42 ms | 1820 KB |
test_21_A.txt | TLE | 2030 ms | 4572 KB |
test_22_ABC.txt | AC | 30 ms | 1180 KB |
test_23_AB.txt | AC | 39 ms | 1820 KB |
test_24_A.txt | TLE | 2030 ms | 4140 KB |
test_25_ABC.txt | AC | 30 ms | 1176 KB |
test_26_AB.txt | AC | 42 ms | 1820 KB |
test_27_A.txt | TLE | 2032 ms | 4636 KB |
test_28_ABC.txt | AC | 29 ms | 1228 KB |
test_29_AB.txt | AC | 40 ms | 1820 KB |
test_30_A.txt | TLE | 2030 ms | 4512 KB |
test_31_ABC.txt | AC | 30 ms | 1184 KB |
test_32_ABC.txt | AC | 27 ms | 1176 KB |
test_33_AB.txt | AC | 45 ms | 1820 KB |
test_34_A.txt | TLE | 2031 ms | 4316 KB |
test_35_ABC.txt | AC | 27 ms | 1180 KB |
test_36_AB.txt | AC | 39 ms | 1776 KB |
test_37_A.txt | AC | 638 ms | 2588 KB |
test_38_ABC.txt | AC | 29 ms | 1244 KB |
test_39_AB.txt | AC | 33 ms | 1692 KB |
test_40_A.txt | TLE | 2030 ms | 2844 KB |
test_41_ABC.txt | AC | 28 ms | 1184 KB |
test_42_AB.txt | AC | 30 ms | 1696 KB |
test_43_A.txt | AC | 99 ms | 1820 KB |
test_44_ABC.txt | AC | 28 ms | 1240 KB |
test_45_AB.txt | AC | 46 ms | 1824 KB |
test_46_A.txt | TLE | 2030 ms | 3872 KB |
test_47_ABC.txt | AC | 30 ms | 1184 KB |
test_48_AB.txt | AC | 30 ms | 1696 KB |
test_49_A.txt | AC | 374 ms | 2544 KB |
test_50_ABC.txt | AC | 27 ms | 1240 KB |
test_51_AB.txt | AC | 36 ms | 1704 KB |
test_52_A.txt | TLE | 2029 ms | 2840 KB |
test_53_ABC.txt | AC | 31 ms | 1172 KB |
test_54_AB.txt | AC | 29 ms | 1440 KB |
test_55_A.txt | TLE | 2031 ms | 2852 KB |