T827080 能量吸收(absorb)
题目描述
一台探测器的初始能量为 $d$。它的前方依次排列着 $n$ 个能量块,第 $i$ 个能量块的能量为 $a_i$。
探测器从第一个能量块开始,按照给定顺序与它们接触。每次接触时:
- 如果能量块的能量**严格小于**探测器当前的能量,探测器就吸收这个能量块,自己的能量增加 $a_i$,然后继续接触下一个能量块。
- 否则,探测器立即停止,既不吸收这个能量块,也不再接触后面的任何能量块。
如果所有能量块都被吸收,探测器也会停止。请你求出探测器停止时的能量。
你需要分别处理多组互不影响的数据。
输入格式
第一行包含一个整数 $T$,表示数据组数。
对于每组数据:
第一行包含两个整数 $n,d$,分别表示能量块数量和探测器的初始能量。
第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$,依次表示各能量块的能量。
输出格式
对于每组数据,输出一行一个整数,表示探测器停止时的能量。
说明/提示
### 样例解释
探测器依次吸收能量为 $3,2,9$ 的三个能量块,自己的能量依次变为 $8,10,19$。
接下来遇到能量为 $20$ 的能量块,因为 $20$ 不小于 $19$,探测器停止。后面的能量块不再被接触,所以答案为 $19$。
## 样例 2
见 `考生目录/absorb/absorb2.in` 与 `考生目录/absorb/absorb2.ans`。该样例满足测试点 $1\sim4$ 的约束。
## 样例 3
见 `考生目录/absorb/absorb3.in` 与 `考生目录/absorb/absorb3.ans`。该样例满足测试点 $5\sim20$ 的约束。
## 样例 4
见 `考生目录/absorb/absorb4.in` 与 `考生目录/absorb/absorb4.ans`。该样例满足测试点 $5\sim20$ 的约束。
## 数据范围
对于所有数据,保证:
- $1\le T\le10$;
- 每组数据中,$1\le n\le10^5$,$1\le d,a_i\le10^9$;
- 同一个输入文件中,所有数据的 $n$ 之和不超过 $2\times10^5$。
各测试点的附加限制如下表所示。
| 测试点编号 | 附加限制(每组均满足) |
| :--------: | :--------------------: |
| $1\sim4$ | $n=1$ |
| $5\sim20$ | 无 |