Submission #18397273
Source Code Expand
{-# LANGUAGE DatatypeContexts #-}
import Control.Exception (assert)
import Control.Monad
import Control.Monad.Primitive
import qualified Control.Monad.ST as ST
import qualified Data.Array.IO as IO
import qualified Data.Array.ST as ST
import qualified Data.Array.Unboxed as A
import Data.Bits
import qualified Data.ByteString.Char8 as BS
import Data.Char
import Data.Foldable
import Data.List
import qualified Data.Map.Strict as Map
import Data.Maybe
import qualified Data.Sequence as Seq
import qualified Data.Set as Set
import qualified Data.Vector as VB
import qualified Data.Vector.Mutable as VBM
import qualified Data.Vector.Unboxed as V
import Data.Vector.Unboxed.Base
import qualified Data.Vector.Unboxed.Mutable as VM
import Debug.Trace
readInt = fst . fromJust . BS.readInt
readIntList = map readInt . BS.words
getInt = readInt <$> BS.getLine
getIntList = readIntList <$> BS.getLine
getIntVec n = V.unfoldrN n (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine
readInteger = fst . fromJust . BS.readInteger
readIntegerList = map readInteger . BS.words
getInteger = readInteger <$> BS.getLine
getIntegerList = readIntegerList <$> BS.getLine
inf :: Int
inf = 10^18
main = do
[a, b, c] <- getIntList
dp <- IO.newArray ((0,0,0),(100,100,100)) (-1.0) :: IO (IO.IOUArray (Int, Int, Int) Double)
let f :: Int -> Int -> Int -> IO Double
f i j k | i == 100 || j == 100 || k == 100 = return 0.0
| otherwise = do t <- IO.readArray dp (i, j, k)
if t >= 0
then return t
else do ti <- f (i+1) j k
tj <- f i (j+1) k
tk <- f i j (k+1)
let i' = fromIntegral i
j' = fromIntegral j
k' = fromIntegral k
v = (ti*i' + tj*j' + tk*k') / (i'+j'+k') + 1.0
IO.writeArray dp (i, j, k) v
return v
ans <- f a b c
print ans
Submission Info
| Submission Time | |
|---|---|
| Task | D - increment of coins |
| User | unnohideyuki |
| Language | Haskell (GHC 8.8.3) |
| Score | 400 |
| Code Size | 2479 Byte |
| Status | AC |
| Exec Time | 49 ms |
| Memory | 12900 KiB |
Compile Error
Loaded package environment from /home/contestant/.ghc/x86_64-linux-8.8.3/environments/default
Main.hs:1:14: warning:
-XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
|
1 | {-# LANGUAGE DatatypeContexts #-}
| ^^^^^^^^^^^^^^^^
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| All | hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| hand_01.txt | AC | 49 ms | 12680 KiB |
| hand_02.txt | AC | 30 ms | 12848 KiB |
| hand_03.txt | AC | 43 ms | 12900 KiB |
| hand_04.txt | AC | 10 ms | 11864 KiB |
| hand_05.txt | AC | 18 ms | 11976 KiB |
| random_01.txt | AC | 20 ms | 12808 KiB |
| random_02.txt | AC | 14 ms | 12632 KiB |
| random_03.txt | AC | 12 ms | 12436 KiB |
| random_04.txt | AC | 19 ms | 12760 KiB |
| random_05.txt | AC | 16 ms | 12632 KiB |
| random_06.txt | AC | 27 ms | 12772 KiB |
| random_07.txt | AC | 24 ms | 12772 KiB |
| random_08.txt | AC | 25 ms | 12676 KiB |
| random_09.txt | AC | 16 ms | 12776 KiB |
| random_10.txt | AC | 16 ms | 12672 KiB |
| random_11.txt | AC | 11 ms | 12480 KiB |
| random_12.txt | AC | 13 ms | 12784 KiB |
| random_13.txt | AC | 17 ms | 12660 KiB |
| random_14.txt | AC | 14 ms | 12808 KiB |
| random_15.txt | AC | 15 ms | 12788 KiB |
| sample_01.txt | AC | 9 ms | 11780 KiB |
| sample_02.txt | AC | 16 ms | 11600 KiB |
| sample_03.txt | AC | 44 ms | 12776 KiB |
| sample_04.txt | AC | 18 ms | 12880 KiB |