4完7WA。7WAて!!
各問題
A - DDCC Finals
まあ与えられた順位を元にif文で分岐するだけの問題です。ARC級だけに?100点のわりにはちょっと手応えのある問題かも。
B - Iron Bar Cutting
まず操作についてですが、伸ばすのも縮めるのもコストが同じなので、いかなる時も伸ばすで問題ありません。つまり2ミリメートル以上のものをうんぬんという条件は考えなくてもいいです。
で、自分の解法は、累積和を取って、半分を超える直前の位置で分割したときの左右の棒の長さの差(絶対値)と、半分を超える直後のそれを比較して小さいほうが解、としました。
C - Strawberry Cakes
めちゃくちゃ ぐちょくに じっそうしました
まず横一列だけで考えて、数字を埋めていきます。 ルールは、イチゴが現れるたびに数字を変えていきます。ただし一個目のイチゴだけは変えません。 また、イチゴのない列はとりあえず無視します。
つまり...#..#..#..
とあったときは111111222333
みたいにします。
次に、一旦無視した空白行について、直前か直後にある数字をそのまま持ってきます。
つまり
............ ...#..#..#.. ............ ...#.....#..
とあったときは
____________ 111111222333 ____________ 444444444555
となって、そこから
111111222333 111111222333 444444444555 444444444555
みたいにします。
以上です。
多分もうちょっとスタイリッシュに分ける方法はあると思います・・・。
D - Digit Sum Replace
(追記)
以下の解法は、私がコンテスト中に無理やりひねり出したものなので、より美しい解法についてはeditorialを参照してください。
(追記ここまで)
ちょっと実験すると、同じ数字が10個並んでいるのを処理すると、元の数字1つに戻ることがわかります。また、その時の処理回数はd+9
です。(実験した結果そうなったのであって、無証明です・・・。)
それを利用すれば、cを10未満の数にすることがほぼ定数でできて、あとは愚直にシミュレーションしてもたかだかM*10程度で終わります。
自分はこれを終了30分前に書き上げたはずだったのですが、書いたつもりで書けていなかったたった1行のために最終的に7WAを出したあげく終了3分前までAC取れませんでした。
とにかく落ち着けと自分に言いたい。まあ3分前に気づけたのがむしろ僥倖なのかもしれないですが。
E, F
チラ見しただけ
まとめ
例によって落ち着きが足らず、順位を200位ほど落とす結果となってしまいました。ああ・・・。青パフォ余裕だったはずなのに・・・。
まあ、そこも含めて実力ということですね。はい。
(追記) 青パフォは惜しくも逃しましたが、Highest更新で水色復帰しました!!!