結果
問題 | No.390 最長の数列 |
ユーザー | pekempey |
提出日時 | 2016-07-29 16:36:04 |
言語 | Haskell (9.8.2) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 584 bytes |
コンパイル時間 | 138 ms |
コンパイル使用メモリ | 149,760 KB |
最終ジャッジ日時 | 2024-11-14 19:48:04 |
合計ジャッジ時間 | 1,089 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default [1 of 2] Compiling Main ( Main.hs, Main.o ) Main.hs:2:1: error: [GHC-87110] Could not load module ‘Data.Map’. It is a member of the hidden package ‘containers-0.6.8’. Use -v to see a list of the files searched for. | 2 | import Data.Map | ^^^^^^^^^^^^^^^
ソースコード
import Control.Applicative import Data.Map import Data.List import Data.Maybe n = 10 ^ 6 dfs :: [Int] -> (Map Int Int) -> Int dfs [] dp = maximum . elems $ dp dfs (x : xs) dp = dfs xs $ Data.List.foldl' upd dp [x * 2, x * 3 .. n] where v = fromMaybe 0 $ Data.Map.lookup x dp upd dp i = if w <= v + 1 then insertWithKey' (\k x y -> x) i (v + 1) dp else dp where w = fromMaybe (10 ^ 6) $ Data.Map.lookup i dp main = do _ <- getLine x <- sort . Data.List.map read . words <$> getLine :: IO [Int] print $ dfs x (fromList (zip x (repeat 1)))