結果
問題 | No.313 π |
ユーザー |
|
提出日時 | 2020-11-08 00:42:11 |
言語 | Haskell (9.10.1) |
結果 |
AC
|
実行時間 | 9 ms / 5,000 ms |
コード長 | 1,793 bytes |
コンパイル時間 | 3,298 ms |
コンパイル使用メモリ | 215,544 KB |
実行使用メモリ | 8,192 KB |
最終ジャッジ日時 | 2024-07-22 14:59:19 |
合計ジャッジ時間 | 4,794 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 32 |
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default [1 of 2] Compiling Main ( Main.hs, Main.o ) [2 of 2] Linking a.out
ソースコード
LANGUAGELANGUAGEimportControl.MonadimportControl.Monad.StateimportData.CoerceimportData.MaybeimportData.WordimportUnsafe.CoerceimportqualifiedData.ByteStringasBSimportqualifiedData.ByteString.CharasBSCimportqualifiedData.Vector.Fusion.Stream.MonadicasVFSMimportqualifiedData.Vector.UnboxedasVUimportqualifiedData.Vector.Unboxed.MutableasVUMpiDist::VUVectorIntpiDist = [20104, 20063, 19892, 20011, 19874, 20199, 19898, 20163, 19956, 19841]INLINEstream::Monadm=>Int->Int->VFSMStreammIntstream !l !r = VFSM.Stream step lwherestep x| x < r = return $ VFSM.Yield x (x + 1)| otherwise = return $ VFSM.DoneINLINEINLINErep::Monadm=>Int->Int->m()->m()rep n = flip VFSM.mapM_ (stream 0 n)INLINEmain::IO()main = dobs <- (VU.map (subtract (48 :: Word8))) <$> seqInput 200002dp <- VUM.replicate 10 (0 :: Int)rep 200002 $ \i -> when (bs VU.! i /= 254) $ VUM.unsafeModify dp succ (unsafeCoerce $ bs VU.! i)xs <- VU.unsafeFreeze dplet ys = VU.zipWith (-) piDist xsa = fromJust $ VU.findIndex (< 0) ysb = fromJust $ VU.findIndex (> 0) ysputStrLn $ show a <> " " <> show btype CParser a = StateT BSC8.ByteString Maybe arunCParser::CParsera->BSC8ByteString->MaybeaBSC8ByteStringrunCParser = runStateTINLINEbyte::CParserWord8byte = coerce BS.unconsINLINEseqInput::Int->IOVUVectorWord8seqInput n = VU.unfoldrN n (runCParser byte) <$> BSC8.getLineINLINE