🤨
JavaScriptでABC412(A-C)
A - Task Failed Successfully
入力の受け取りが一番めんどい
不等号の向きだけ注意。A[i] < B[i]だよ〜
2分01秒 AC!
B - Precondition
Bは愚直
Sの1文字目(※先頭の次の文字)から最後の文字まで、「小文字である。もしくは、直前の文字がTに含まれている」を見てあげればOK。
「小文字である」は/[a-z]/.test()、「文字がTに含まれている」はT.includes(文字)でできる
(Stringもincludesもってるんですね、Arrayしか持ってないと思ってArray.from(string)挟んじゃった)
4分44秒 AC!
C - Giant Domino
「直前のドミノの2倍以下の大きさのドミノのうち最も大きいもの」を探して、ドミノN以上になったらそこで終わり、そうなる前に探した結果が直前のドミノ自体になっちゃったら不可能
二分探索事前に書いといてよかった〜
あれ(WA)
……
ドミノ1よりドミノNのほうが小さいときのこと考えてませんでした!!!あほ!!!!
ドミノNの大きさがドミノ1の2倍以下なら問答無用で2って答えましょう
27分44秒 AC! (2ペナ)
D-G
なんもわからんのです……
Dは太刀打ちできるかなとも思いましたが、2秒に収まりそうな列挙方法も最適な削除/追加の仕方も思いつきませんでした
解説を見ました
これって順列全探索間に合うんですか……?!
ABC302解いてたときも思った気がするんですけど、next_permutationがJavaScriptにはないのが辛い 自力で高速な実装を用意しなければ……
Perfomance
- perf : 954
- レート変化 : 841 → 853 (+12)
感想
勝ってるけどさ、勝ってるんだけどさ……
Cの2ペナがもったいないです。こういうミスになぜ気づかない……
Dも正解を掠めていたのでもったいない感じが。
過去のABCも似たような記事を書いています。よければそちらもどうぞ。
Discussion