Submission #40785503
Source Code Expand
Copy
importControl.MonadimportData.ArrayimportData.ListimportqualifiedData.IntSetasISmain = do[h,w,t] <- getLnIntssss <- replicateM h getLnIntslet ans = abc298g h w t sssprint ansgetLnInts::IOIntgetLnInts = map read . words <$> getLineabc298g::Int->Int->Int->Int->Intabc298g h w t sss = minimum[ res - lower| lower <- IS.elems lowers, let res = solve lower, res >= lower]
import Control.Monad import Data.Array import Data.List import qualified Data.IntSet as IS main = do [h,w,t] <- getLnInts sss <- replicateM h getLnInts let ans = abc298g h w t sss print ans getLnInts :: IO [Int] getLnInts = map read . words <$> getLine abc298g :: Int -> Int -> Int -> [[Int]] -> Int abc298g h w t sss = minimum [ res - lower | lower <- IS.elems lowers , let res = solve lower , res >= lower ] where h1 = succ h w1 = succ w accs = listArray ((1,1),(h1,w1)) $ concat $ scanl (zipWith (+)) (replicate w1 0) $ map (scanl (+) 0) sss -- 上を含まない範囲指定 berries u d l r = accs ! (d,r) + accs ! (u,l) - accs ! (d,l) - accs ! (u,r) lowers = IS.fromList [ berries u d l r | u <- [1..h], d <- [succ u..h1] , l <- [1..w], r <- [succ l..w1] ] t1 = succ t solve lower = arr ! (1,h1,1,w1,t1) where bnds = ((1,2,1,2,1),(h,h1,w,w1,t1)) arr = listArray bnds $ map f $ range bnds f (u,d,l,r,c) | c == 1 = if b < lower then -1 else b | null recs = -1 | otherwise = minimum recs where b = berries u d l r recs = [ max a1 a2 | m <- [succ u..pred d], cc <- [1..pred c] , let a1 = arr ! (u, m, l, r, cc), a1 >= lower , let a2 = arr ! (m, d, l, r, c - cc), a2 >= lower ] ++ [ max a1 a2 | m <- [succ l..pred r], cc <- [1..pred c] , let a1 = arr ! (u, d, l, m, cc), a1 >= lower , let a2 = arr ! (u, d, m, r, c - cc), a2 >= lower ]
Submission Info
Submission Time | |
---|---|
Task | G - Strawberry War |
User | joetheshootingst |
Language | Haskell (GHC 8.8.3) |
Score | 600 |
Code Size | 1736 Byte |
Status | AC |
Exec Time | 5697 ms |
Memory | 25092 KB |
Compile Error
Loaded package environment from /home/contestant/.ghc/x86_64-linux-8.8.3/environments/default
Judge Result
Set Name | Sample | All | AfterContest | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | 0 / 0 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 01_srnd_00.txt, 01_srnd_01.txt, 01_srnd_02.txt, 01_srnd_03.txt, 01_srnd_04.txt, 01_srnd_05.txt, 01_srnd_06.txt, 01_srnd_07.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 02_rnd_08.txt, 03_same_00.txt, 03_same_01.txt, 03_same_02.txt, 03_same_03.txt, 03_same_04.txt, 03_same_05.txt, 03_same_06.txt, 03_same_07.txt, 03_same_08.txt, 03_same_09.txt, 04_pow2_00.txt, 04_pow2_01.txt, 04_pow2_02.txt, 04_pow2_03.txt, 04_pow2_04.txt, 04_pow2_05.txt, 04_pow2_06.txt, 04_pow2_07.txt, 04_pow2_08.txt, 04_pow2_09.txt, 05_tv_00.txt, 05_tv_01.txt, 05_tv_02.txt, 05_tv_03.txt, 05_tv_04.txt, 05_tv_05.txt, 06_hack_00.txt, 06_hack_01.txt, 06_hack_02.txt, 06_hack_03.txt, 06_hack_04.txt, 06_hack_05.txt, 06_hack_06.txt, 06_hack_07.txt, 06_hack_08.txt, 06_hack_09.txt, 06_hack_10.txt, 06_hack_11.txt, 06_hack_12.txt, 06_hack_13.txt, 06_hack_14.txt, 06_hack_15.txt, 06_hack_16.txt, 06_hack_17.txt, 06_hack_18.txt, 06_hack_19.txt, 06_hack_20.txt, 06_hack_21.txt, 06_hack_22.txt, 06_hack_23.txt, 06_hack_24.txt, 06_hack_25.txt, 06_hack_26.txt, 06_hack_27.txt, 06_hack_28.txt, 06_hack_29.txt |
AfterContest | 99_after_00.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 8 ms | 4036 KB |
00_sample_01.txt | AC | 2 ms | 3768 KB |
01_srnd_00.txt | AC | 2 ms | 3868 KB |
01_srnd_01.txt | AC | 2 ms | 3896 KB |
01_srnd_02.txt | AC | 2 ms | 3844 KB |
01_srnd_03.txt | AC | 2 ms | 4008 KB |
01_srnd_04.txt | AC | 2 ms | 4032 KB |
01_srnd_05.txt | AC | 2 ms | 3796 KB |
01_srnd_06.txt | AC | 2 ms | 4196 KB |
01_srnd_07.txt | AC | 4 ms | 4364 KB |
02_rnd_00.txt | AC | 2854 ms | 17924 KB |
02_rnd_01.txt | AC | 567 ms | 10864 KB |
02_rnd_02.txt | AC | 2751 ms | 17924 KB |
02_rnd_03.txt | AC | 67 ms | 5936 KB |
02_rnd_04.txt | AC | 456 ms | 9952 KB |
02_rnd_05.txt | AC | 1660 ms | 15948 KB |
02_rnd_06.txt | AC | 5697 ms | 25092 KB |
02_rnd_07.txt | AC | 987 ms | 12804 KB |
02_rnd_08.txt | AC | 1590 ms | 13900 KB |
03_same_00.txt | AC | 2 ms | 3848 KB |
03_same_01.txt | AC | 3 ms | 4152 KB |
03_same_02.txt | AC | 2 ms | 3924 KB |
03_same_03.txt | AC | 2 ms | 4048 KB |
03_same_04.txt | AC | 5 ms | 4664 KB |
03_same_05.txt | AC | 2 ms | 4312 KB |
03_same_06.txt | AC | 4 ms | 4664 KB |
03_same_07.txt | AC | 3 ms | 3892 KB |
03_same_08.txt | AC | 4 ms | 4708 KB |
03_same_09.txt | AC | 9 ms | 5524 KB |
04_pow2_00.txt | AC | 2 ms | 3860 KB |
04_pow2_01.txt | AC | 3 ms | 4348 KB |
04_pow2_02.txt | AC | 2 ms | 3948 KB |
04_pow2_03.txt | AC | 3 ms | 4312 KB |
04_pow2_04.txt | AC | 7 ms | 5072 KB |
04_pow2_05.txt | AC | 4 ms | 4864 KB |
04_pow2_06.txt | AC | 34 ms | 5796 KB |
04_pow2_07.txt | AC | 4 ms | 4536 KB |
04_pow2_08.txt | AC | 33 ms | 5716 KB |
04_pow2_09.txt | AC | 21 ms | 5544 KB |
05_tv_00.txt | AC | 139 ms | 19896 KB |
05_tv_01.txt | AC | 63 ms | 12980 KB |
05_tv_02.txt | AC | 55 ms | 13928 KB |
05_tv_03.txt | AC | 14 ms | 6732 KB |
05_tv_04.txt | AC | 48 ms | 15340 KB |
05_tv_05.txt | AC | 268 ms | 24128 KB |
06_hack_00.txt | AC | 4787 ms | 24004 KB |
06_hack_01.txt | AC | 4035 ms | 24180 KB |
06_hack_02.txt | AC | 5084 ms | 24296 KB |
06_hack_03.txt | AC | 3916 ms | 24168 KB |
06_hack_04.txt | AC | 3869 ms | 21072 KB |
06_hack_05.txt | AC | 4165 ms | 24180 KB |
06_hack_06.txt | AC | 3991 ms | 23128 KB |
06_hack_07.txt | AC | 2060 ms | 17084 KB |
06_hack_08.txt | AC | 3451 ms | 21220 KB |
06_hack_09.txt | AC | 4639 ms | 23120 KB |
06_hack_10.txt | AC | 4472 ms | 21076 KB |
06_hack_11.txt | AC | 2787 ms | 21068 KB |
06_hack_12.txt | AC | 3509 ms | 19640 KB |
06_hack_13.txt | AC | 3884 ms | 23272 KB |
06_hack_14.txt | AC | 3875 ms | 22204 KB |
06_hack_15.txt | AC | 4207 ms | 23228 KB |
06_hack_16.txt | AC | 3230 ms | 19136 KB |
06_hack_17.txt | AC | 4393 ms | 21092 KB |
06_hack_18.txt | AC | 4476 ms | 24144 KB |
06_hack_19.txt | AC | 3863 ms | 20072 KB |
06_hack_20.txt | AC | 3172 ms | 19080 KB |
06_hack_21.txt | AC | 3978 ms | 22024 KB |
06_hack_22.txt | AC | 3226 ms | 22092 KB |
06_hack_23.txt | AC | 3334 ms | 23044 KB |
06_hack_24.txt | AC | 3741 ms | 20080 KB |
06_hack_25.txt | AC | 4703 ms | 22024 KB |
06_hack_26.txt | AC | 4256 ms | 23156 KB |
06_hack_27.txt | AC | 2952 ms | 19020 KB |
06_hack_28.txt | AC | 4636 ms | 24296 KB |
06_hack_29.txt | AC | 4360 ms | 22108 KB |
99_after_00.txt | AC | 857 ms | 11880 KB |