CF1982C Boring Day
题目描述
在又一个无聊的日子里,Egor 感到无聊,决定做点什么。但由于他没有朋友,他想出了一个游戏来玩。
Egor 有一叠 $n$ 张牌,从上到下第 $i$ 张牌上写着数字 $a_i$。Egor 想要进行若干轮游戏,直到牌用完。在每一轮中,他可以从牌堆顶端取出非零数量的牌,然后结束本轮。如果本轮取出的牌上的数字之和在 $l$ 到 $r$ 之间(包含 $l$ 和 $r$),则本轮获胜;否则,本轮失败。
Egor 已经记住了牌的顺序。请你帮助 Egor 计算,在这种游戏中他最多能赢多少轮。注意,Egor 并不要求连续获胜。
输入格式
每个测试包含若干组数据。第一行包含一个整数 $t$($1 \le t \le 10^{4}$),表示测试用例的数量。接下来是每组测试用例的描述。
每组测试用例的第一行包含三个整数 $n$、$l$ 和 $r$($1 \le n \le 10^{5}$,$1 \le l \le r \le 10^9$)。
每组测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$),表示从上到下每张牌上的数字。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每组测试用例,输出一个整数,表示 Egor 最多能赢的轮数。
说明/提示
在第一个测试用例中,Egor 可以赢 $3$ 轮:
- 第一轮,取最上面的 $2$ 张牌,数值分别为 $2$ 和 $1$,它们的和为 $3$,在 $[l, r]$ 范围内,获胜。此后牌堆变为 $[11, 3, 7]$。
- 第二轮,取最上面的一张牌,数值为 $11$,大于 $r = 10$,失败。此后牌堆变为 $[3, 7]$。
- 第三轮,取最上面的一张牌,数值为 $3$,获胜。此后牌堆变为 $[7]$。
- 第四轮,只剩最后一张牌,数值为 $7$,获胜。
在第二个测试用例中,无论如何 Egor 都无法获胜。
在第三个测试用例中,每轮取一张牌,第一轮和第三轮失败,第二轮获胜。
在第四个测试用例中,每轮取两张牌,每轮都能获胜。
由 ChatGPT 4.1 翻译