问题描述 给定一个长度为 $ n $ 的非负整数序列 $ a 1, a 2, a 3, \cdots, a n $,求出和不小于 $ S $ 的连续子序列 $ a l, a {l+1}, \cdots, a r (1 \leq l \leq r \leq n) $ 的最短长度,即满足 \[ \sum {i=l}^r a i \geq S \] 的最短连续子序列长度。 由于序列可能很长,以生成的方式给出序列:给出序列的首项 $ a 1 $ 和一个乘数 $ b $,序列其余各项的值为 $ a i = (b \cdot a {i-1}) \mod (10^9 + 7)(1 < i \leq n) $。 输入格式 第一行两个整数 $ n $,$ S(3 \leq n \leq 5 \times 10^7, 1 \leq S \leq 10^8) $,代表序列长度以及序列和的限制。 第二行给出两个整数 $ a 1 $,$ b(0 \leq a, b < 10^9 + 7) $,含义如题目描述。 对于10%的数据,$ 1 \leq n \leq 500 $ 对于30%的数据,$ 1 \leq n \leq 10^4 $ 对于65%的数据,$ 1 \leq n \leq 2 \times 10^6 $ 对于100%的数据,$ 3 \leq n \leq 5 \times 10^7 $ 输出格式 一行一个整数,代表满足要求的连续子序列的最短长度。如果和不小于 $S$ 的连续序列不存在,输出 $−1$。 输入样例 3 6 1 2 输出样例 2