Submission #17704253
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 <- getInt s <- getLine let sl = take n s sr = reverse $ drop n s color _ [] sr sb = (sr, sb) color i (c:cs) sr sb | i .&. 1 == 1 = color (i `shiftR` 1) cs (c:sr) sb | otherwise = color (i `shiftR` 1) cs sr (c:sb) allColors i s cs | i >= 1 `shiftL` n = cs | otherwise = let col = color i s "" "" in allColors (i+1) s (col:cs) mkColorMap :: [(String,String)] -> Map.Map (String,String) Int -> Map.Map (String,String) Int mkColorMap [] m = m mkColorMap (col:cs) m = let n = Map.findWithDefault 0 col m m' = Map.insert col (n+1) m in mkColorMap cs m' csl = allColors (0::Int) sl [] csr = allColors (0::Int) sr [] m = mkColorMap csl Map.empty solve [] res = res solve (col:cs) res = let n = Map.findWithDefault 0 col m in solve cs (res+n) print $ solve csr 0
Submission Info
Submission Time | |
---|---|
Task | C - String Coloring |
User | unnohideyuki |
Language | Haskell (GHC 8.8.3) |
Score | 600 |
Code Size | 2543 Byte |
Status | AC |
Exec Time | 1327 ms |
Memory | 321052 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 | 600 / 600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example_0, example_1, example_2, example_3 |
All | almost_z_0, almost_z_1, almost_z_2, almost_z_3, bigrand_0, bigrand_1, bigrand_2, example_0, example_1, example_2, example_3, handmade_0, handmade_1, nonzero_0, nonzero_1, nonzero_2, nonzero_3, nonzero_4, nonzero_5, nonzero_sc_0, nonzero_sc_1, nonzero_sc_10, nonzero_sc_11, nonzero_sc_2, nonzero_sc_3, nonzero_sc_4, nonzero_sc_5, nonzero_sc_6, nonzero_sc_7, nonzero_sc_8, nonzero_sc_9, nonzero_small_0, nonzero_small_1, nonzero_small_2, nonzero_small_3, rand_0, rand_1, rand_2, runnur_0, runnur_1, runnur_2, runnur_3, runnur_4 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
almost_z_0 | AC | 742 ms | 82420 KiB |
almost_z_1 | AC | 778 ms | 83328 KiB |
almost_z_2 | AC | 611 ms | 83348 KiB |
almost_z_3 | AC | 660 ms | 82420 KiB |
bigrand_0 | AC | 1059 ms | 244208 KiB |
bigrand_1 | AC | 1165 ms | 313876 KiB |
bigrand_2 | AC | 1113 ms | 237120 KiB |
example_0 | AC | 2 ms | 3684 KiB |
example_1 | AC | 13 ms | 5324 KiB |
example_2 | AC | 2 ms | 3712 KiB |
example_3 | AC | 564 ms | 82540 KiB |
handmade_0 | AC | 2 ms | 3708 KiB |
handmade_1 | AC | 3 ms | 3660 KiB |
nonzero_0 | AC | 1229 ms | 312824 KiB |
nonzero_1 | AC | 1079 ms | 222692 KiB |
nonzero_2 | AC | 1303 ms | 314900 KiB |
nonzero_3 | AC | 1230 ms | 321052 KiB |
nonzero_4 | AC | 1245 ms | 314840 KiB |
nonzero_5 | AC | 1266 ms | 313820 KiB |
nonzero_sc_0 | AC | 566 ms | 82304 KiB |
nonzero_sc_1 | AC | 1069 ms | 88564 KiB |
nonzero_sc_10 | AC | 1215 ms | 199148 KiB |
nonzero_sc_11 | AC | 1147 ms | 196116 KiB |
nonzero_sc_2 | AC | 934 ms | 88400 KiB |
nonzero_sc_3 | AC | 1082 ms | 136752 KiB |
nonzero_sc_4 | AC | 1128 ms | 163280 KiB |
nonzero_sc_5 | AC | 1327 ms | 317028 KiB |
nonzero_sc_6 | AC | 565 ms | 82416 KiB |
nonzero_sc_7 | AC | 1052 ms | 89480 KiB |
nonzero_sc_8 | AC | 924 ms | 87520 KiB |
nonzero_sc_9 | AC | 1003 ms | 97892 KiB |
nonzero_small_0 | AC | 19 ms | 6864 KiB |
nonzero_small_1 | AC | 2 ms | 3712 KiB |
nonzero_small_2 | AC | 2 ms | 3668 KiB |
nonzero_small_3 | AC | 145 ms | 37340 KiB |
rand_0 | AC | 2 ms | 3688 KiB |
rand_1 | AC | 2 ms | 3668 KiB |
rand_2 | AC | 2 ms | 3516 KiB |
runnur_0 | AC | 909 ms | 90596 KiB |
runnur_1 | AC | 789 ms | 83432 KiB |
runnur_2 | AC | 877 ms | 85512 KiB |
runnur_3 | AC | 873 ms | 86512 KiB |
runnur_4 | AC | 895 ms | 87516 KiB |