Submission #19440021
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
[n, u', v'] <- getIntList
let (u, v) = (u'-1, v'-1)
ess <- VBM.new n
VBM.set ess ([]::[Int])
replicateM_ (n-1) $ do
[a, b] <- getIntList
let ia = a - 1
ib = b - 1
ta <- VBM.read ess ia
VBM.write ess ia (ib:ta)
tb <- VBM.read ess ib
VBM.write ess ib (ia:tb)
da <- VM.new n
VM.set da inf
dt <- VM.new n
VM.set dt inf
let dfs d d' par i dist = do
t <- VM.read d i
if (t > dist)
then do
VM.write d i dist
es <- VBM.read ess i
let es' = filter (/=par) es
if null es' -- if Leaf
then do t' <- VM.read d' i
let r | t' == 0 = dist - 1
| dist >= t' = 0
| otherwise = t' - 1
return r
else do bs <- forM es' $ \j -> dfs d d' i j (dist+1)
return $ maximum bs
else return 0
dfs da dt (-1) v 0
ans <- dfs dt da (-1) u 0
print ans
Submission Info
| Submission Time | |
|---|---|
| Task | F - Playing Tag on Tree |
| User | unnohideyuki |
| Language | Haskell (GHC 8.8.3) |
| Score | 600 |
| Code Size | 2500 Byte |
| Status | AC |
| Exec Time | 283 ms |
| Memory | 58120 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 | After_contest | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | 0 / 0 | ||||||
| Status |
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01, sample_02, sample_03, sample_04 |
| All | path1_01, path1_02, path1_03, path2_01, path2_02, path2_03, random_01, random_02, random_03, random_04, random_05, random_06, random_07, random_08, random_09, random_10, random_11, random_12, random_13, sample_01, sample_02, sample_03, sample_04, star_01, star_02, star_03 |
| After_contest | after_contest_01 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| after_contest_01 | AC | 8 ms | 4024 KiB |
| path1_01 | AC | 207 ms | 45776 KiB |
| path1_02 | AC | 120 ms | 26448 KiB |
| path1_03 | AC | 182 ms | 37976 KiB |
| path2_01 | AC | 278 ms | 48984 KiB |
| path2_02 | AC | 283 ms | 58120 KiB |
| path2_03 | AC | 279 ms | 56144 KiB |
| random_01 | AC | 8 ms | 5616 KiB |
| random_02 | AC | 9 ms | 5732 KiB |
| random_03 | AC | 17 ms | 7396 KiB |
| random_04 | AC | 15 ms | 5848 KiB |
| random_05 | AC | 17 ms | 7028 KiB |
| random_06 | AC | 101 ms | 17256 KiB |
| random_07 | AC | 174 ms | 23996 KiB |
| random_08 | AC | 98 ms | 16192 KiB |
| random_09 | AC | 124 ms | 18816 KiB |
| random_10 | AC | 200 ms | 31052 KiB |
| random_11 | AC | 222 ms | 32768 KiB |
| random_12 | AC | 222 ms | 32652 KiB |
| random_13 | AC | 225 ms | 32652 KiB |
| sample_01 | AC | 2 ms | 3944 KiB |
| sample_02 | AC | 3 ms | 4016 KiB |
| sample_03 | AC | 2 ms | 3936 KiB |
| sample_04 | AC | 3 ms | 3956 KiB |
| star_01 | AC | 103 ms | 24128 KiB |
| star_02 | AC | 101 ms | 23952 KiB |
| star_03 | AC | 120 ms | 25428 KiB |