ARC100

C: Linear Approximation

+iの部分をまず数列aから減算しておく。

それにより作られたaの平均値をとり、そこから上下に値を移動させて、

悲しさが増減するかを検証し、減るようならば更新、増えるようならばストップ。

 

という形で作ったところTLE。

Dをちょっと考えてから戻り、まずは数列をソートしてみることに。

その後bを増減させたときの挙動について考えてみたところ、

bより大きい数のほうが多ければ、bを1増やすことで悲しさが減り、

逆ならば悲しさが増えるのではということがわかった。

 

結果的には、数列を加工して中間値を取ればよいだけだと判明したため、

そのようにコードを書き換えてAC。

 

D: Equal Cut

なんとなく試しに3個さしてみるところから先が思いつかない

とおもったけど別にしゃくとり法で計算するだけで

普通の計算時間になるからいらない方向に思考がいっていた気がする

 

Cは安定してとけてるからABCに戻るのもなんだかなあなので

過去問ノックを真面目にやってみるしかないのかな。