背景
____
/ \
/ ― ‐ 時刻は 20:30
/ ( ●) )
| (__ノ、_) 真っ白の空間と、虚空に浮かぶディスプレイ――
\ `_⌒
/⌒ヽ ー‐ ィヽ_
/ 、 、 〆ヾ ̄ `i
/ / ゙ lヾ_ ,|ヽ─ヘ
/ /l `、´/ ヽ
/ / ヽ ,____ ` ,ヽ ヽ
-─ヽ イ_ ヽ /  ̄ ̄ ̄ ̄`ヽ Y ゝ‐-、
( _i _i_ト、__) ヽ、___⊥____ノ 「___ノ
____
/ \
/ ─ ─ \
/ (●) (●) \ ……ここはどこだお?
| (__人__) |
\ `⌒´ ,/
/ ー‐ \
/⌒ヽ ー‐ ィヽ_
/ 、 、 〆ヾ ̄ `i
/ / ゙ lヾ_ ,|ヽ─ヘ
/ /l `、´/ ヽ
/ / ヽ ,____ ` ,ヽ ヽ
-─ヽ イ_ ヽ /  ̄ ̄ ̄ ̄`ヽ Y ゝ‐-、
( _i _i_ト、__) ヽ、___⊥____ノ 「___ノ
___
,,.-''"´ ` .、
/ ヽ
./ ',
l l
/ l
起きたか 〈`ヽ、 |
|ミ=-  ̄ ̄`ヽ /
l ミ=-‐ .′
l/ ヽ ,'
( __ 人 ) {
/ // )ニ=''´ ./ .|
ツ二二二/ ./__ ./ |
やらない夫!? / / /''"__,ノ ′ .|
何が起きているんだお / / / /,.-''")_ _,,-''´ / ヽ__
,' /'´,,..-''´| / _ \/`ヽ、
_ ´l / ./ | ´ / / \
,,..-''" | .l ./ / イ / / \
/ ̄ ̄\
/ ヽ、_ .:::\
何って、 AtCoder だろ (●)(● ) .:::::::|
(__人__) ::::::|
デスゲームが始まったんだよ (`⌒ ´ ::::|
{ ..::::|
3 回瓦を割ったら爆発するぜ { ...:::ノ
ヽ ......::::ノ
_j:::::, イ>x、_
/i!イ__/////7>x
///i| ./////////l∧
////i| ///////////l∧
/////i| /////////////l∧
ヽi////!.///////////////ハ
|/////////////////////ム
i/////////////i/ ∨/////ム
/////////////// ,ノ///////〉
///////////////ム////////,イ
雑な導入だお!? ////////////////j////////
//////////////////////l//
〉77|//////////////////////≧x、__,
i///j///////////j>--</////////
∨iLi////////////77777///////i/
`” |/////////j/////////////j/
/ ̄ ̄\
/ヽ、_ \
俺たちの言語は Haskell だ ( (● ) |
(ノ、__) |
|⌒´ |
| -‐`‐'チ-..| / \
`'x::'´:::::::::::::::::::::::::7 / >
__ヽ___::::::::::::〈. \/7,/
/::`ヽ::::::::::::::::::::::: ̄`:::::::`:..、 ,// /
l:::::::::::ヽ:::::::::::::::::::::::::::l:::::::::::::`:.、 l ′ 7ァ
|::::::::::::::ヽ::::::::::::::::::::::::!:::::::::::::::;イ l /
`、::::::::::::∨::::::::::::::::::/:::::::::::::/::l. }‐...x'
`、:::::::::::`、::::::::::/:::::::::::::/:::::〉/ニニソ
`;:::::::::::::`,::::::::/::::::::::::/::::::::|/:::::::/
`;:::::::::::::`,:::/:::::::::/ l::::::::::::!:::::::/
〉::::::::::::::Y:::::::::/. l:::::::::::l}::::/
____
/ノ ヽ、_\ r ⌒j
/( ○). (○)\ / /
/ (__人__) \/ / / ) 無理だお
| u .` ⌒´ / / / / それだけはよしてくれお
\ / '` ´ /
r´ (⌒'ー―- イ′ ´廴
/ > 、 ヽ _  ̄ ̄ ̄)
/ -、 } (  ̄¨´
/ ヽ._ __ \
` --‐'´ `゙'
/ ̄ ̄\
/ ヽ、_ \
贅沢を言うな (─)(─ ) |
やつは Nibbles だぞ rm、.(__人__) |
_,,........_ ||川n(,`⌒ ´ |
_,(,,、,、,、,、,、)_ || !. { |
, i ノ)ノイヽ),. ヽ. 〈 { /
i 、ヽvイ゚ ヮ゚ノリノi ウワーイ | |, !. ヽ /
、 __(_,}i'立!{_)ノ | | |__ ヽ 〈
,(ン::(__)ヾ) ゞゝ__ ̄''⌒ ヽ
`^^i_ソ_ソ^´  ̄ ̄ トー、 }
|: |
____
/ノ ヽ、_\ r ⌒j
/( ○). (○)\ / /
/ (__人__) \/ / / ) 無理だお
| u .` ⌒´ / / / / それだけはよしてあげて欲しいお
\ / '` ´ /
r´ (⌒'ー―- イ′ ´廴
/ > 、 ヽ _  ̄ ̄ ̄)
/ -、 } (  ̄¨´
/ ヽ._ __ \
` --‐'´ `゙'
ABC 403
____
/ \
/ ─ ─ \
/ (●) (●) \ ABC 403 に参加するお
| (__人__) |
\ `⌒´ ,/
/ ー‐ \
____
/ \
/ ─ ─\
/ (●) (●) \ まずはレジってと……
| (__人__) | ___________
\ ` ⌒´ ,/ | | 20:56 |
___/ \ | | |
| | / , | | |
| | / ./ | | |
| | | ⌒ ーnnn |_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄ ̄ _|_|__|_
____
/ \
/ ─ ─\
/ (●) (●) \ …………
| (__人__) | ___________
\ ` ⌒´ ,/ | | 20:57 |
___/ \ | | |
| | / , | | |
| | / ./ | | |
| | | ⌒ ーnnn |_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄ ̄ _|_|__|_
__ ____
//  ̄ \\
//--.-- -─\\
// (● ●) ((●(●) \ ガタガタガタガタガタガタ
.| |.| ( . ((_人_人__) | _ _== =
\\ ⌒ ` /,/ | | 20:58  ̄ ̄| ||
ノ \\| | | | ||
/´ | | | |
| l | | ||| うるせえ
ヽ -一ー_~、⌒)^),-、 | |_________| |
ヽ ____,ノγ⌒ヽ)ニニ- ̄ | | | = =
____
/ \
/ ─ ─\
/ (●) (●) \ そういえば、やる夫は Haskell が得意だったお
| (__人__) | ___________
\ ` ⌒´ ,/ | | 20:59 |
___/ \ | | |
| | / , | | |
| | / ./ | | |
| | | ⌒ ーnnn |_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄ ̄ _|_|__|_
A 問題
____ / ─ ─\ / (●) (●)\ さあどこからでも / (__人__) \ かかって来なさい | ` ⌒´ | \ / ノ \ . /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) / ̄ ̄\ /ヽ、_ \ (なんだてめぇ……) ( (● ) | (ノ、__) | 数列の奇数番目の要素の |⌒´ | 和を求めろ | -‐`‐'チ-..| / \ `'x::'´:::::::::::::::::::::::::7 / > __ヽ___::::::::::::〈. \/7,/ /::`ヽ::::::::::::::::::::::: ̄`:::::::`:..、 ,// / l:::::::::::ヽ:::::::::::::::::::::::::::l:::::::::::::`:.、 l ′ 7ァ |::::::::::::::ヽ::::::::::::::::::::::::!:::::::::::::::;イ l / `、::::::::::::∨::::::::::::::::::/:::::::::::::/::l. }‐...x' `、:::::::::::`、::::::::::/:::::::::::::/:::::〉/ニニソ `;:::::::::::::`,::::::::/::::::::::::/::::::::|/:::::::/ `;:::::::::::::`,:::/:::::::::/ l::::::::::::!:::::::/ 〉::::::::::::::Y:::::::::/. l:::::::::::l}::::/ ____ / \ /\ キリッ / (ー) (ー)\ / ⌒(__人__)⌒ \ ifilter の出番だお | |r┬-| | テンプレートは省略するお \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
solve :: StateT BS.ByteString IO ()
solve = do
n <- int'
xs <- intsU'
printBSB . U.sum $ U.ifilter (const . even) xs
B 問題
/ ̄ ̄\ /ヽ、_ \ 文字列 S が文字列 T の ( (● ) | 連続部分列とマッチする (ノ、__) | か調べろ |⌒´ | | -‐`‐'チ-..| / \ 詳しくは問題文を読め `'x::'´:::::::::::::::::::::::::7 / > __ヽ___::::::::::::〈. \/7,/ /::`ヽ::::::::::::::::::::::: ̄`:::::::`:..、 ,// / l:::::::::::ヽ:::::::::::::::::::::::::::l:::::::::::::`:.、 l ′ 7ァ |::::::::::::::ヽ::::::::::::::::::::::::!:::::::::::::::;イ l / `、::::::::::::∨::::::::::::::::::/:::::::::::::/::l. }‐...x' `、:::::::::::`、::::::::::/:::::::::::::/:::::〉/ニニソ `;:::::::::::::`,::::::::/::::::::::::/::::::::|/:::::::/ `;:::::::::::::`,:::/:::::::::/ l::::::::::::!:::::::/ 〉::::::::::::::Y:::::::::/. l:::::::::::l}::::/ ____ / \ /\ キリッ / (ー) (ー)\ / ⌒(__人__)⌒ \ | |r┬-| | S 中の '?' 文字は任意の 1 文字にマッチするお \ `ー'´ / S の連続部分列を全探索すればいいお ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
match :: String -> String -> Int -> Bool
match s t offset = inner (drop offset s) t
where
inner _ [] = True
inner (a : as) (b : bs)
| a == b || a == '?' = inner as bs
| otherwise = False
solve' :: StateT BS.ByteString IO ()
solve' = do
!s <- BS.unpack <$> line'
!t <- BS.unpack <$> line'
let d = length s - length t
printYn $ any (match s t) [0 .. d]
/ ̄ ̄ \ -、_
_,ノ ヽ、__ / / ,〉、
2 回も RE を (=)(= )/ ´/ /)
出してるじゃねぇか (__人_) { , ' ´,/
'、`⌒ ´ V __, <´
| 〈´/::::Λ
| ヤ::::::::::::::Λ
`ュ`ー─ー V::::::::::::::Λ
/ム _ , -./V::::::::::::::Λ、
_,. -/:/===/´..::/i:::::::::::::::::::Vヘ
//./.::::{ | :::::/::::i::::::::::::::::::.∨}
j ::::::::>.:::::::l |::::::::::::::i::::::::::::::::::::レ;
i :::r :〈 ::::::::i |::::::::::::::::〉、:::::::::::::::::ノ
i :::| :::::'., ::::i {:::::::::::::::::::::`::-==::イ
| :::| ::::::::',::::i ',:::::::::::::::::::::::::::::::::::/
____
/ \ /\ キリッ
/ (ー) (ー)\
/ ⌒(__人__)⌒ \
| |r┬-| | inner の停止条件でハマったお
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
C 問題
/ ̄ ̄\ /ヽ、_ \ N 人のユーザに M 個の ( (● ) | コンテストの閲覧権限を付与 (ノ、__) | していく |⌒´ | | -‐`‐'チ-..| / \ 1 つ or 全コンテストの閲覧 `'x::'´:::::::::::::::::::::::::7 / > 権限が付与されて行くとき、 __ヽ___::::::::::::〈. \/7,/ コンテスト参加可否クエリに /::`ヽ::::::::::::::::::::::: ̄`:::::::`:..、 ,// / 応えよ l:::::::::::ヽ:::::::::::::::::::::::::::l:::::::::::::`:.、 l ′ 7ァ |::::::::::::::ヽ::::::::::::::::::::::::!:::::::::::::::;イ l / `、::::::::::::∨::::::::::::::::::/:::::::::::::/::l. }‐...x' `、:::::::::::`、::::::::::/:::::::::::::/:::::〉/ニニソ `;:::::::::::::`,::::::::/::::::::::::/::::::::|/:::::::/ `;:::::::::::::`,:::/:::::::::/ l::::::::::::!:::::::/ 〉::::::::::::::Y:::::::::/. l:::::::::::l}::::/ ____ / \ /\ キリッ / (ー) (ー)\ 閲覧権限が剥奪されることは無いお / ⌒(__人__)⌒ \ | |r┬-| | 全コンテスト閲覧権と各コンテスト閲覧権を \ `ー'´ / 別々に持てば、どのクエリも O(1) か O(log N) で処理できるお ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
solve :: StateT BS.ByteString IO ()
solve = do
(!n, !m, !q) <- ints3'
!qs <- U.replicateM q $ do
int' >>= \case
1 -> (1 :: Int,,) <$> int' <*> int'
2 -> (2 :: Int,-1,) <$> int'
3 -> (3 :: Int,,) <$> int' <*> int'
sets <- VM.replicate n IS.empty
done <- UM.replicate n False
res <- (`U.mapMaybeM` qs) $ \case
(1, pred -> !x, !y) -> do
GM.modify sets (IS.insert y) x
pure Nothing
(2, -1, pred -> x) -> do
GM.write done x True
pure Nothing
(3, pred -> x, !y) -> do
b1 <- GM.read done x
b2 <- IS.member y <$> GM.read sets x
pure . Just $ b1 || b2
printBSB $ unlinesBSB $ V.map ynBSB $ U.convert res
/ ̄ ̄\ /ヽ、_ \ Immutable に解こうとは ( (● ) | 思わねぇのか? (ノ、__) | |⌒´ | | -‐`‐'チ-..| / \ `'x::'´:::::::::::::::::::::::::7 / > __ヽ___::::::::::::〈. \/7,/ /::`ヽ::::::::::::::::::::::: ̄`:::::::`:..、 ,// / l:::::::::::ヽ:::::::::::::::::::::::::::l:::::::::::::`:.、 l ′ 7ァ |::::::::::::::ヽ::::::::::::::::::::::::!:::::::::::::::;イ l / `、::::::::::::∨::::::::::::::::::/:::::::::::::/::l. }‐...x' `、:::::::::::`、::::::::::/:::::::::::::/:::::〉/ニニソ `;:::::::::::::`,::::::::/::::::::::::/::::::::|/:::::::/ `;:::::::::::::`,:::/:::::::::/ l::::::::::::!:::::::/ 〉::::::::::::::Y:::::::::/. l:::::::::::l}::::/ ____ / \ /\ キリッ / (ー) (ー)\ Immutable に解くには、 scan してから mapMaybe すれば良いみたいだお / ⌒(__人__)⌒ \ やる夫は逆に 2 回走査するのがしっくり来ないお | |r┬-| | \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
D 問題
/ ̄ ̄\ /ヽ、_ \ 問題文を読め ( (● ) | (ノ、__) | |⌒´ | | -‐`‐'チ-..| / \ `'x::'´:::::::::::::::::::::::::7 / > __ヽ___::::::::::::〈. \/7,/ /::`ヽ::::::::::::::::::::::: ̄`:::::::`:..、 ,// / l:::::::::::ヽ:::::::::::::::::::::::::::l:::::::::::::`:.、 l ′ 7ァ |::::::::::::::ヽ::::::::::::::::::::::::!:::::::::::::::;イ l / `、::::::::::::∨::::::::::::::::::/:::::::::::::/::l. }‐...x' `、:::::::::::`、::::::::::/:::::::::::::/:::::〉/ニニソ `;:::::::::::::`,::::::::/::::::::::::/::::::::|/:::::::/ `;:::::::::::::`,:::/:::::::::/ l::::::::::::!:::::::/ 〉::::::::::::::Y:::::::::/. l:::::::::::l}::::/ ____ / \ /\ キリッ / (ー) (ー)\ div, mod を取って頑張るお / ⌒(__人__)⌒ \ | |r┬-| | \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
solve :: StateT BS.ByteString IO ()
solve = do
(!n, !d) <- ints2'
!xs <- intsU'
-- d = 0 の場合は例外として処理する
when (d == 0) $ do
let !xs' = U.modify VAI.sort xs
let !len = length $ U.group xs'
printBSB $ n - len
liftIO exitSuccess
-- x_i を D で割った余り (r_i) 事に
-- x_i を D で割った商 (q_i) を集める
let !byR =
V.accumulate
(flip (:))
(V.replicate d [])
. V.map (\x -> let (!q, !r) = x `divMod` d in (r, q))
$ U.convert xs
-- 商の差が 1 以下のグループ毎に、最大何要素を残せるか調べ、和を取る
let eval :: [Int] -> Int
eval =
sum
. map (f . {- 連長圧縮 -} map length . group)
. HT.groupBy (\a b -> b - a <= 1)
. U.toList
. U.modify VAI.sort
. U.fromList
where
-- DP
f = uncurry max . foldl' step s0
where
s0 = (0, 0) :: (Int, Int)
step (!from1, !from2) x = (from2 + x, max from2 from1)
-- 最大何要素残るか
let nRest = V.sum $ V.map eval byR
-- 最小何要素消せば良いか
printBSB $ n - nRest
E 問題
____ / \ /|(●)⌒) \ / < \ | |(●)、_,) | \ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ / \ / ─ ─\ / (⌒) (⌒) \ 分かんないお | (__人__) | \ ` ⌒´ / ノ \ . /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) / ̄ ̄\ / _ノ \ Upsolve しろ | (● ) ) 死にたくなければな | (__人) | `⌒´ノ | } ', __ / ≦ニニ≧s。_ ノニニニ二二エ≧s, 。s≦ニニニ二二二二从 /ニニニニニニニニニ二j jニニニ二二二二/二ニェ| ノニニニ二二二/二二二二| (ニ二二二二二/ニニニニエj ノ二二ニニニェ/ニニニニェノ /ェ二二ゝ二二7ニニニニェ/ /ニニル' wニニ7二二二ニニ( /ェニル' Wニニlニニニニ二ム /ェニ/ i!ェニlニニニニ二/ /ェニ二Y ノエニ\ニニ二二入 \二二\ i!二ニニェ\ニニニニi! \二ニェ>ニニ二二二\ェニ二\ \ニミjニニ二二二二二\ニニ二/ ヽ jニニニニニニニニ/\ニノマ 从ニニニ二二二/ 八 j |ニニニ二二二二/ jエミ! |ニニニ二二二7 jェニム はいだお…… └‐=ニ⌒ ̄7`' 7 , ノニニム lェニ二二l 孑个´ニニ二:ム lェニ二二l ∧ェニ二二ム lェニ二二l ∧ェニ二二i!
F 問題
____ / \ /|(●)⌒) \ / < \ | |(●)、_,) | \ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ / \ / ─ ─\ / (⌒) (⌒) \ 分かったお | (__人__) | \ ` ⌒´ / ノ \ . /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
G 問題
____
/ \
/|(●)⌒) \
/ < \
| |(●)、_,) |
\ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/ \
/ ─ ─\
/ (⌒) (⌒) \ 分かんないお
| (__人__) |
\ ` ⌒´ /
ノ \
. /´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
___
/ \
/ ヽ
| \ / |
こういうことだろッ | (●) (●) !
| (__人_) |
. _ l `⌒´ !
. ヽニ二/´};;;;;_>.、 ヽ / lヽ、
/〈 〈/ /::ヽ::::::>..、 _ > <-‐/:::/
. /_/ヘ_lヽゝー::ヽ:::::::::ノ7、/ト、 ノ /ヽ-/∠__
⊂ -'‐-、::` ̄`¨/:/ /:::::ヽ、 //:/:ー::;:-::::`ヽ
 ̄ ̄´`7ヽヽ、::::::/::`>.v'、:://<:::::::l}::l
/ ゝ \V, ':::::::::::::―'`ヽ、::ヽ:::ヽ:l|:::!
`>、/ <:::::::::::::::::::::::::::::::::::\::ヽ:::||:::!
/>l__`≧_、::::::::::::::::::::::::::::::::::ヽ::/
____>--――</ l / >、::ー:::::::::::::::::::::K
_>―'":; -――――ォ< ,' / / ヘV:>、::::::::::::::_ノ:::`ヽ、
∠_::::::::::/ > '"´ l / / ヘV:::::::: ̄ ̄:::::::::::>===<
V `ヽ/ >'" | V,i´ ヾ、::::::::;><´ ___ _
ヽ、 〉'" l / _ l/ ̄ `>、 ー
 ̄`´ ̄`>、_ ヘ / ー -― \ ` / / ヽ
まさか、やらない夫!? _∠:::::l /  ̄ `ヽ、\- / / /
r‐<ヽ::::::::::;>===r―┬==< \ ヘ 〉 , / ///
ノ`ヽ::::::〉<>.==┴‐ ┴-< 二`>、 !二二二二二彡_>'
>'" }:////::::::::ヽ/:::ー:::::::::::::::::`>..、_ノ!/_____>'"
.| /
! /
.l __/_
! / / \
! /. / _ノ \
.l │. /(● )(●) AC. そのまさかだよ
.| │ / (__人__)
! │. / ` ⌒´ノ モノイド積を取ればいいだけだろ
! │ / } 常識的に考えろよ
| ノ./ヾ.ヘ }
..=ィ゙ニ| /、;i;i;ヾヘ _ノ
. : :イ/{ / ̄ヾ}l!;i;i;iLc、>
. / '/,ム{ ∧ }ー-,-、《;i〈
. !:.,'〃´ハ{/ ハ::〃,=ヾミ;i
. :.:{/' 〃゙ヽ__ノヽi/´ }\
. :.:|!、/ ヽ::Y::/{ r、/ム .\
. !:.!ム ヽj::ノ{ | ,';i;iム ヽ.
. Ⅵマ\ _ ヽ';i乂__.ソ;i;i;i;i| 丶
. トj0l|Y´\{ } Y;i;i;i;i;i;i;i;i;i;iト, \
. `!0j;iト、 ヾ__.人;i;i;i;i;i;i;i;i;i;i;{ \
. 〈ソ,∧ \ 「 ! Y;i;i;i;i;i;i;i;i;iム
. j、;i;i;、 \___丿;i;i;i;i;i;i;i;i;i;iム
. /.:::∨;i;i`i.、___ノ;i\;i;i;i;i;i;i;i;i;i;i;iム
. ::::::::.∨;i;i|:;i;i;i;i;i;i;i;i;\;i;i;i;i;i;i;i;i;i;ム
. 、_:::::::∨;i|:;i;i;i;i;i;i;i;i;i;i;i;丶:;i;i;i;i;i;i;i;ム
. ::ーニ=イ};i:!:;i;i;i;i;i;i;i;i;i;i;i;i;i;i\:;i;i;i;i;i;i;i〉
. ヽ:::::::::ノ;i:!:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i\:;i;i;/
. ヽ/;i;i:|:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i\:〉
. ../;i;i;i;i;i:|:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;\
. ,ゝ;i;i;i;i;i;i:|:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i/ 丶
. i;i;i;i;i;i;i;i;i:|:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;/ \
. i;i;i;i;i;i;i;i;i:!:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i∧
. i;i;i;i;i;i;i;i;i:!:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i/. ム
. i;i;i;i;i;i;i;i;i:l:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i//マ___
. 、i;i;i;i;i;i;i;i:|:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;}/イ;;;;;;;;;`!
. ';i;i;i;i;i;i;i;i:l:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;iム.;;;;;;;;;;;;;;;;;〉
____
/ \
/ ⌒ ⌒ \ 平衡二分木も動的セグメント木も ac-library-hs に
/ (●) (●) \ 入っているから言語アップデートが楽しみだお
| 、" ゙)(__人__)" ) ___________
\ 。` ⌒゚:j´ ,/ j゙~~| | | |
__/ \ |__| | | |
| | / , \n|| | | |
| | / / r. ( こ) | | |
| | | ⌒ ーnnn |\ (⊆ソ .|_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二 _|_|__|_
以上
____
/ \
/ ─ ─\
/ (⌒) (⌒) \ みんなも頑張って AtCoder を生き残ってくれお
| (__人__) | おすすめの言語は Haskell だお
\ ` ⌒´ /
ノ \
. /´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
.| /
! /
.l __/_
! / / \
! /. / _ノ \
.l │. /(● )(●) 解けなかった問題は
.| │ / (__人__) 今すぐ upsolve しろ!
! │. / ` ⌒´ノ
! │ / }
| ノ./ヾ.ヘ }
..=ィ゙ニ| /、;i;i;ヾヘ _ノ
. : :イ/{ / ̄ヾ}l!;i;i;iLc、>
. / '/,ム{ ∧ }ー-,-、《;i〈
. !:.,'〃´ハ{/ ハ::〃,=ヾミ;i
. :.:{/' 〃゙ヽ__ノヽi/´ }\
. :.:|!、/ ヽ::Y::/{ r、/ム .\
. !:.!ム ヽj::ノ{ | ,';i;iム ヽ.
. Ⅵマ\ _ ヽ';i乂__.ソ;i;i;i;i| 丶
. トj0l|Y´\{ } Y;i;i;i;i;i;i;i;i;i;iト, \
. `!0j;iト、 ヾ__.人;i;i;i;i;i;i;i;i;i;i;{ \
. 〈ソ,∧ \ 「 ! Y;i;i;i;i;i;i;i;i;iム
. j、;i;i;、 \___丿;i;i;i;i;i;i;i;i;i;iム
. /.:::∨;i;i`i.、___ノ;i\;i;i;i;i;i;i;i;i;i;i;iム
. ::::::::.∨;i;i|:;i;i;i;i;i;i;i;i;\;i;i;i;i;i;i;i;i;i;ム
. 、_:::::::∨;i|:;i;i;i;i;i;i;i;i;i;i;i;丶:;i;i;i;i;i;i;i;ム
. ::ーニ=イ};i:!:;i;i;i;i;i;i;i;i;i;i;i;i;i;i\:;i;i;i;i;i;i;i〉
. ヽ:::::::::ノ;i:!:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i\:;i;i;/
. ヽ/;i;i:|:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i\:〉
. ../;i;i;i;i;i:|:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;\
. ,ゝ;i;i;i;i;i;i:|:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i/ 丶
. i;i;i;i;i;i;i;i;i:|:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;/ \
. i;i;i;i;i;i;i;i;i:!:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i∧
. i;i;i;i;i;i;i;i;i:!:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i/. ム
. i;i;i;i;i;i;i;i;i:l:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i//マ___
. 、i;i;i;i;i;i;i;i:|:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;}/イ;;;;;;;;;`!
. ';i;i;i;i;i;i;i;i:l:;i;i;i;i;i;i;i;i;i;i;i;i;i;i;i;iム.;;;;;;;;;;;;;;;;;〉
AA のフォントは aahub_light をお借りしました。