Submission #19236667
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
w <- getInt
[n, k] <- getIntList
abs <- V.replicateM n $ do
[a, b] <- getIntList
return (a, b)
dp <- IO.newArray ((0,0,0),(w,k,n)) 0 :: IO (IO.IOUArray (Int,Int,Int) Int)
mx <- VM.new 1
VM.set mx (0::Int)
let writeDp :: (Int, Int, Int) -> Int -> IO ()
writeDp (i, j, k) v = do
IO.writeArray dp (i, j, k) v
t <- VM.read mx 0
VM.write mx 0 (max t v)
forM_ [0..w] $ \i -> do
forM_ [0..k] $ \j -> do
forM_ [1..n] $ \k -> do
let (a, b) = abs V.! (k-1)
t1 <- IO.readArray dp (i, j, k-1)
if i >= a && j >= 1
then do t2 <- IO.readArray dp (i-a, j-1, k-1)
writeDp (i, j, k) (max t1 (t2 + b))
else do writeDp (i, j, k) t1
ans <- VM.read mx 0
print ans
Submission Info
| Submission Time | |
|---|---|
| Task | D - 高橋くんの苦悩 |
| User | unnohideyuki |
| Language | Haskell (GHC 8.8.3) |
| Score | 100 |
| Code Size | 2269 Byte |
| Status | AC |
| Exec Time | 630 ms |
| Memory | 207972 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 | All | ||
|---|---|---|---|
| Score / Max Score | 100 / 100 | ||
| Status |
|
| Set Name | Test Cases |
|---|---|
| All | sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 5 ms | 3648 KiB |
| sample_02.txt | AC | 2 ms | 3712 KiB |
| sample_03.txt | AC | 2 ms | 3716 KiB |
| test_01.txt | AC | 561 ms | 207936 KiB |
| test_02.txt | AC | 31 ms | 12224 KiB |
| test_03.txt | AC | 3 ms | 3784 KiB |
| test_04.txt | AC | 6 ms | 4548 KiB |
| test_05.txt | AC | 3 ms | 4000 KiB |
| test_06.txt | AC | 2 ms | 3808 KiB |
| test_07.txt | AC | 17 ms | 8284 KiB |
| test_08.txt | AC | 9 ms | 4236 KiB |
| test_09.txt | AC | 15 ms | 5896 KiB |
| test_10.txt | AC | 20 ms | 9840 KiB |
| test_11.txt | AC | 16 ms | 7436 KiB |
| test_12.txt | AC | 7 ms | 4820 KiB |
| test_13.txt | AC | 7 ms | 4904 KiB |
| test_14.txt | AC | 8 ms | 4484 KiB |
| test_15.txt | AC | 507 ms | 207968 KiB |
| test_16.txt | AC | 7 ms | 4760 KiB |
| test_17.txt | AC | 498 ms | 203984 KiB |
| test_18.txt | AC | 436 ms | 155984 KiB |
| test_19.txt | AC | 10 ms | 4536 KiB |
| test_20.txt | AC | 433 ms | 152408 KiB |
| test_21.txt | AC | 133 ms | 56592 KiB |
| test_22.txt | AC | 3 ms | 3688 KiB |
| test_23.txt | AC | 126 ms | 52540 KiB |
| test_24.txt | AC | 605 ms | 207816 KiB |
| test_25.txt | AC | 8 ms | 4884 KiB |
| test_26.txt | AC | 598 ms | 203876 KiB |
| test_27.txt | AC | 13 ms | 7512 KiB |
| test_28.txt | AC | 2 ms | 3684 KiB |
| test_29.txt | AC | 14 ms | 7076 KiB |
| test_30.txt | AC | 258 ms | 96376 KiB |
| test_31.txt | AC | 3 ms | 3960 KiB |
| test_32.txt | AC | 255 ms | 92428 KiB |
| test_33.txt | AC | 630 ms | 207972 KiB |
| test_34.txt | AC | 10 ms | 4696 KiB |
| test_35.txt | AC | 622 ms | 204012 KiB |
| test_36.txt | AC | 442 ms | 162976 KiB |
| test_37.txt | AC | 8 ms | 4508 KiB |
| test_38.txt | AC | 439 ms | 159480 KiB |
| test_39.txt | AC | 305 ms | 128284 KiB |
| test_40.txt | AC | 4 ms | 4216 KiB |
| test_41.txt | AC | 291 ms | 124320 KiB |