4完。水色復帰しました。
各問題
A - Discount
これは単純な算数問題で、100 - (B / A) * 100
をすればよいです。
百分率の100をかけ忘れて答えが合わない合わないをしていて、ちょっと焦りました。
B - Play Snuke
全ての店について、X - A
が正なら在庫が残っているので買えます。買える店の中で一番小さいPが答えです。
一瞬ソートがいるのかなと思ったんですが、B問題だし違うよね、とメタ読みしてしまったのはないしょです。
C - Unexpressed
N <= 10^10
に対してAが取りうる最大値は100000(100000^2 = 10^10
)で、Bの取りうる最大値は33(2^33 < 10^10 < 2^34
)なので、その範囲で全探索が間に合います。
指数増加だからBは大して大きくならないというのがポイントですね。
D - Poker
全てのケースについて実際にスコアを計算して、場合の数を求めて、高橋くん勝ちの場合の数割る全ての場合の数をするだけです。
双方が同じ数を引いていたときの場合の数を求め間違えていて結構時間をロスしてしまったのが痛かったです・・・。(それがなければ青パフォ)
E - Oversleeping
全然わからなかったのでスルーしました。
F - Zebraness
F問題だしDPじゃないよなぁと思いながらDPしたらなぜか1/3ほどACが出てしまって、よくわからんをしていました。
まとめ
ちょっともたつくところもあったけど、Cがすぐ見切れたのはいい傾向。
EとFはACL関連らしく、ちょっと実力より上のレベルでもそのへんは触って慣れておいたほうがいいのかなぁと思いました。でないとEFの壁がいつまで経っても破れそうにないですからね。