備忘録代わりに精進記録を載せていくつもりです。採用される区間について調べてみます。成り立たなければなりません。最大値を求めてみます。ついて行い、その和を取れば答えとなります。このままでは、一見簡単に求めるのが難しいように見えます。区間の右端になります。このことを利用します。数列について考えてみます。最初、区間全体を見ます。計算すると、となります。絡む区間はすべて見終わったので、これを含まないような区間を調べます。すると、区間がちょうど2つに分かれます。この新しくできた2つの区間について、それぞれの区間の中での最小値と、その位置を調べます。計算してあげると、それぞれとなります。絡む区間を見終わったので、また区間を分けていきます。ような)パターンについては、新しい区間は1つしかうまれません。この操作を、最終的に区間の幅が1になるまで繰り返していきます。計算していって全ての総和を取れば、答えがでてきます。区間の最小値を取り出すのは、RMQを利用します。配列のインデックスは、ペアか何かで持たせておけば大丈夫です。