Submission #3792370
Source Code Expand
import Data.List import Data.Array import qualified Data.Array.Unboxed as UA import Control.Monad import Control.Monad.ST import qualified Data.Set as S import qualified Data.Vector.Unboxed as V import qualified Data.Vector.Unboxed.Mutable as MV main=interact$show.f.map read.words f (h:w:r)=sum $ map (\n-> xs V.! n) ar where (cs,as) = splitAt 100 r ca = UA.listArray ((0,0),(9,9)) cs ar = filter (\a->a/=1&&a/=(-1)) as ds = map (dks ca) (0:[2..9]) xs = dks ca 1 dks ca 1=runST $ do dv <- MV.replicate 10 maxBound :: ST s (MV.STVector s Int) MV.unsafeWrite dv 1 0 let q=S.singleton (0,1) dksl ca dv q V.unsafeFreeze dv dksl::UA.Array (Int,Int) Int -> MV.STVector s Int -> S.Set (Int,Int) -> ST s () dksl ca dv q | S.null q = return () | otherwise = do let ((d,u),q') = S.deleteFindMin q q'' <- f dv d u q' [0..9] dksl ca dv q'' where f _ _ _ q [] = return q f dv d u q (v:r) = do let a = d + ca ! (v,u) lv <- MV.unsafeRead dv v if lv > a then do MV.unsafeWrite dv v a f dv d u (S.insert (a, v) q) r else f dv d u q r
Submission Info
Submission Time | |
---|---|
Task | D - Wall |
User | mick0321 |
Language | Haskell (GHC 7.10.3) |
Score | 400 |
Code Size | 1257 Byte |
Status | AC |
Exec Time | 185 ms |
Memory | 2428 KB |
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 |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, sample_01.txt, sample_02.txt, sample_03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 117 ms | 2428 KB |
02.txt | AC | 118 ms | 2300 KB |
03.txt | AC | 97 ms | 2300 KB |
04.txt | AC | 117 ms | 2300 KB |
05.txt | AC | 66 ms | 2044 KB |
06.txt | AC | 111 ms | 2428 KB |
07.txt | AC | 118 ms | 2428 KB |
08.txt | AC | 21 ms | 1276 KB |
09.txt | AC | 21 ms | 1276 KB |
10.txt | AC | 108 ms | 2044 KB |
11.txt | AC | 118 ms | 2428 KB |
12.txt | AC | 117 ms | 2300 KB |
13.txt | AC | 185 ms | 2428 KB |
14.txt | AC | 185 ms | 2428 KB |
15.txt | AC | 2 ms | 1020 KB |
16.txt | AC | 117 ms | 2428 KB |
sample_01.txt | AC | 2 ms | 1020 KB |
sample_02.txt | AC | 1 ms | 636 KB |
sample_03.txt | AC | 2 ms | 892 KB |