新しい区間について、同じことを繰り返していきます。総和を取れば答えになります。調べたい区間をペアで管理し、新しく調べたい区間が出てくるたびにキューかスタックに格納していき、1つの区間を調べ終わったらまたそこから区間を1つ取り出していく、というようにすると、いい感じに調べることができると思います。ある数字が加算される(区間の最小値になる)条件と個数を調べていくのだろうな、とは思ったのですが、それを調べる方法がなかなか思いつきませんでした。一定の場所までは区間を広げても常に成り立ち、一回条件を満たさなくなるとそれ以降区間をどれだけ広げても再び最小値になることはないことを確認します。計算するだけでよいことになります。昇順に見ていってうまく処理できないかということを考えていました。結局それで調べる方法が思いつかなかったので悩んでいると、逆に、ある区間に対しての最小値を求めれば、その区間が答えになる、ということに気づいたので、上のような解法を思いつきました。(1)注目記事はてなブログをはじめよう!emtubasaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。