結果
問題 |
No.144 エラトステネスのざる
|
ユーザー |
|
提出日時 | 2015-02-08 21:47:58 |
言語 | Haskell (9.10.1) |
結果 |
MLE
|
実行時間 | - |
コード長 | 589 bytes |
コンパイル時間 | 9,636 ms |
コンパイル使用メモリ | 174,848 KB |
実行使用メモリ | 534,016 KB |
最終ジャッジ日時 | 2024-06-23 06:53:01 |
合計ジャッジ時間 | 13,261 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 MLE * 1 -- * 6 |
コンパイルメッセージ
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
ソースコード
import Control.Applicative import Data.Array.IO import Data.Array readInt :: String -> Int readInt = read readDouble :: String -> Double readDouble = read sumA :: [Int] -> Array Int Double -> Double sumA indexes ary = foldl (\ acc i -> acc + ary!i) 0.0 indexes main :: IO() main = do [ns,ps] <- words <$> getLine let n = readInt ns let m = n + 1 let p = readDouble ps l <- newArray (2,m) 1.0 :: IO(IOArray Int Double) sequence_ [sequence_ [(writeArray l j) =<< (*) (1-p) <$> (readArray l j) | j <- [i+i,i+i+i..n]] | i <- [2,3..n] ] print =<< (sumA [2,3..n] <$> freeze l)