012 - しゃくとり!
時間制限 1 秒 / メモリ制限 64 MB / 得点 33 / x 0 /
問題
長さ$N$の整数列が与えられます。
この整数列の中の長さ1以上の連続した部分数列であって、部分数列の総和が$K$以上であるもののうち、部分数列の長さが最小になるものの長さを答えてください。
ただし、そのようなものが存在しなければ-1を出力してください。
入力
入力は以下の形式で標準入力から与えられる。
$N$ $K$ $A_1$ $A_2$ ... $A_N$
1行目に整数$N,K$が与えられる。 2行目に長さ$N$の整数列$A$が与えられる。
出力
出力の最後に改行を入れること。
制約
全ての入出力ケースについて以下を満たす。
- $1 \leq N \leq 10^5$
- $1 \leq K \leq 10^9$
- $-10^9 \leq A_i \leq 10^9 (1 \leq i \leq N)$
- 入力はすべて整数
入出力例
入力例1
6 10 1 5 2 3 3 2
出力例1
3
総和が$K$以上になる部分数列として、{1,5,2,3,3,2},{1,5,2,3},{5,2,3},{5,2,3,3,2},{2,3,3,2}などが考えられますが、これらの中で長さが最小になるのは{5,2,3}であり、長さは3です。
入力例2
5 1 -9 -8 -7 -6 -5
出力例2
-1
条件を満たす部分数列が存在しないので、-1を出力します。
入力例3
8 5 1 1 1 1 1 3 -1 3
出力例3
3
入力例4
5 15 4 3 2 -9 1000000000
出力例4
1