× 1005 受影响相关提交已重测

净化

Accepts: 620
Submissions: 2629
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
Problem Description
给一个整数数组 $a_1,a_2,\cdots,a_n$ 和一个正整数 $m$ 。有一个数 $x$ ,初始为 $0$ 。称对其进行一轮操作为:让 $x$ 依次加上 $a_1,a_2,\cdots ,a_n$ 。如果在某一次加上 $a_i$ 后 $x<0$ ,则将 $x$ 立刻变为 $0$ ,如果在某一次加上 $a_i$ 后 $x\geq m$ ,立刻结束这一轮操作。不断对 $x$ 进行操作,你想要求出经过几轮操作后 $x$ 第一次满足 $x\geq m$ ,或者判断永远也无法满足。
Input
第一行一个正整数 $T(1\leq T\leq 20)$ ,代表测试组数。 接下来 $T$ 组数据中,每组数据的第一行包含包含两个正整数 $n,m(1\leq n\leq 100000,1\leq m\leq 10^{18})$ 。 第二行包含 $n$ 个整数 $a_1,a_2,\cdots,a_n(-10^9\leq a_i\leq 10^9)$ 。
Output
$T$ 行,每行一个整数,代表几轮操作第一次 $x\geq m$ ,或者 $-1$ 代表永远无法达到。
Sample Input
2
4 100
3 -5 10 -5
3 9
3 -10 6
Sample Output
31
2