AtCoder Beginner Contest 366
F まで解けたかな
E は考えるのが面倒になって、x を固定したときのy の範囲を求めるのに
二分探索の中でさらに二分探索をしてしまった…
だめかなと思ったけれど、なんか間に合ってAC できたから、そのままにした
解説を読んだけれど、書く
各y に対して事前にg(y) を計算しておけば良かったのか…確かに
F は結構悩んだかな
ある程度大きくなれば、A が大きいほうが良いから…と考えたけれど
ある程度大きくなるまでのことをどう考えればよいのかわからず、
A+B の大きいものとA の大きいものを…
で
A+B の大きいものとA の大きいものを使うとか、
A の大きいものを使うのは固定で、他に何を使うのかを全探索するとか、
f はたかだか2500 通りしか無いから、それを使えないかとか、考えたけれど
A の大きいものを後から適用したほうがお得なら、
A の順に並べて、そこまでのものの中からいくつか組み合わせたときの最大値を覚えておけば良いかなと思ったけれど
(2, 1) と(15, 50) だったら後者を先に適用したほうが大きくなるからそれも使えなくて
ちゃんと、使うものを固定したときにどういう順番なら大きくなるかを考える必要があるかぁと
書いて整理してみたら順序っぽいものができた
全順序になっているか確認しようとしたけれどすぐにできなくて、ただ、まあ間違っては無いかなと思って実装したらAC やったかな
その後改めて順序っぽいものを見てみたら、単に分数の順序になったから、全順序なのはほぼ当たり前やったかな、ボケ