解法
区間DPをします。
区間
の中で落とせるブロックの最大値
とすると、答えはとなります。
まず、となります。続いて、
ならば
となります。
では、を求めていきます。
まず、 (すなわち、区間
のブロックをすべて落とせるということです)かつ、
ならば、区間
のブロックを全て落とせるということになるので、答えは
となります。
それ以外の場合、を適当な2つの区間
に分割し、それぞれで落とせるブロックの最大値の和を求め、
について全探索しながら最大値を求めればいいです。
ということです。
あとはこのDPを行えば、答えを求めることができます。
感想
番目のブロックと
番目のブロックをペアで落とすには、
の区間のブロックを全て落とす必要がある、ということに気づき、そこからうまく調べる方法が無いか、を探しました。端の2つのブロックを落とさない場合は、適当に2つの区間に分割すれば最適解を求められるだろう、ということで上のようなDPをしました。