题目描述
《80 Days》是一款基于儒勒·凡尔纳的科幻小说《环游世界八十天》的有趣游戏。在这个游戏中,你需要管理有限的钱和时间。
现在我们将游戏简化为以下规则:
- 世界上有 $n$ 个城市,这些城市按顺序编号为 $1$ 到 $n$,排列成一个环形。
- 当你第一次到达城市 $i$ 时,你会获得 $a_i$ 美元($a_i$ 可以是负数)。
- 如果你想前往环形中的下一个城市,你需要支付 $b_i$ 美元。
- 一开始你有 $c$ 美元。
游戏的目标是选择一个城市作为起点,然后沿着环形依次访问所有城市一次,最后回到起点。在整个旅程中,你所拥有的钱必须始终不少于零。
现在的问题是:为了完成旅程,你应该选择哪个城市作为起点?
如果有多个可能的起点,请输出编号最小的那个。
如果没有任何起点可以完成旅程,则输出 `-1`。
输入格式
第一行输入一个整数 $T$($T \leq 100$),表示测试用例的数量。
对于每个测试用例:
第一行包含两个整数 $n$ 和 $c$($1 \leq n \leq 10^6$,$0 \leq c \leq 10^9$)。
第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($-10^9 \leq a_i \leq 10^9$)。
第三行包含 $n$ 个整数 $b_1, b_2, \dots, b_n$($0 \leq b_i \leq 10^9$)。
保证所有测试用例的 $n$ 之和不超过 $10^6$。