結果
問題 | No.5 数字のブロック |
ユーザー |
|
提出日時 | 2016-08-16 19:53:29 |
言語 | Haskell (9.10.1) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,421 bytes |
コンパイル時間 | 263 ms |
コンパイル使用メモリ | 159,872 KB |
最終ジャッジ日時 | 2024-11-14 19:48:34 |
合計ジャッジ時間 | 880 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default <no location info>: warning: [GHC-98887] -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving [1 of 2] Compiling Main ( Main.hs, Main.o ) Main.hs:11:10: error: [GHC-59692] Duplicate instance declarations: instance [safe] Monoid a => Monoid (IO a) -- Defined at Main.hs:11:10 instance Monoid a => Monoid (IO a) -- Defined in ‘GHC.Base’ | 11 | instance Monoid a => Monoid (IO a) where | ^^^^^^^^^^^^^^^^^^^^^^^^^
ソースコード
LANGUAGELANGUAGEimportqualifiedData.TextasTimportqualifiedData.Text.IOasTIimportqualifiedData.ListasLimportData.MonoidimportData.MaybeimportControl.ApplicativeimportData.FoldableinstanceMonoida=>MonoidIOawheremempty = return memptymappend a b = mappend <$> a <*> bdropMay::Int->a->MaybeadropMay 0 [] = Just []dropMay _ [] = NothingdropMay 0 list = Just listdropMay v (x:xs) = dropMay (v-1) xs(!-!)::a->Int->Maybea[] !-! _ = Nothing(x:xs) !-! 0 = Just x(x:xs) !-! n = xs !-! (n-1)(<$~>)::Functor f => f a -> (a -> b) -> f b(<$~>)=flip (<$>)maybeRead s|[(x,"")]<-(reads s)=Just x|otherwise = NothingmaybeList::MaybeInt->MaybeIntmaybeList [] = Just []maybeList ((Just a):xs) = (a:) <$> (maybeList xs)maybeList (Nothing:xs) = NothinggetLines::Int->IOTTextgetLines 1 = TI.getLinegetLines n = TI.getLine <> return (T.pack " ") <> (getLines$n-1)run main_f n=getLines n <$~>T.split (==' ') <$~>fmap T.unpack <$~>main_f <$~>fmap show <$~>fromMaybe "error" >>=putStrLnf l [] n sum| l < sum = n - 1|otherwise = nf l (x:xs) n sum| l >= sum = f l xs (n+1) (sum+x)|otherwise = n - 1;main_ list = dolet get n = maybeRead=<<(list !-! n)::Maybe Intl<-get 0ws<-maybeList=<<fmap maybeRead<$>dropMay 2 list::Maybe [Int]return$f l (L.sort ws) 0 0main = run main_ 3