解法
を0-indexed(
~
) で考えていきます。
ある区間についての
の総和
が
以上となっているとき、
を満たす区間
については全て部分列の総和が
以上となります。
ということで、それぞれのについて、
を満たす
の最小値を求め、
の総和を求めれば答えとなります。
また、に対する
の最小値を求めた後、
に対する区間の右端の最小値を求めるとき、求める右端が
未満になることはもちろんありません。
ということで、あとは尺取り法を用いて、のペアを求めていけばよいです。
感想
尺取り法はよくバグらせるので、二分探索も候補に入れるべきですかね…
ノータイムで考察できるのはうれしいですね。