男子高生の難波列くんは、彼女の誕生日に数列をプレゼントしようと考えている。彼女は掛け算が大好きな女の子なので、難波くんは彼女にできるだけ多くの掛け算を楽しんてもらえるような数列をプレゼントしたいと思っている。しかし、計算結果が 2^{20} を超える値になると彼女の機嫌が途端に悪くなってしまう(通常の人類は 2^{20}という膨大な数を計算できないため、これでも彼女は随分と寛大な人であると言える)。彼女の機嫌を損なわないように、できるだけ多くの掛け算を楽しんでもらえる数列を難波くんが作ったので、あなたの仕事はその数列が彼女を十分に楽しませられるか検証するプログラムを作ることである。つまり、あなたの仕事は数列の連続する部分列の中で、部分列の総積が K を超えない最長の部分列の長さを答えるプログラムを作ることである。
長さ N の非負実数列 S = s_1, s_2, ..., s_N と 非負実数 K がある。 あなたの仕事は、以下の条件を満たす S の連続する部分列のうち、次の条件を満たす最長の部分列の長さを求めることである。このとき、部分列の長さは 1 以上でなければならない。
もし条件を満たす部分列が一つも存在しないときは、 0 を出力せよ。
入力は次の形式で与えられる.
N K s_1 s_2 $\dots$ s_N
1 行目には数列の長さ N と 部分列の総積の上限 K が与えられる。続く N 行のうち、 i 行目では非負実数列 S の i 番目の実数 s_i が与えられる。
S の部分列の総積が K を超えない最長の部分列の長さを 1 行に出力せよ。
6 2.01 1.10 1.44 0.91 2.00 1.12 1.55
3
8 12.22 2.00 2.00 2.00 1.91 2.00 2.00 2.00 0.01
8