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$ | 无 |