#CF2089B1. 食堂(简单版)

食堂(简单版)

B1. 食堂(简单版)
每个测试点时间限制:2 秒
内存限制:512 兆字节

这是该问题的简单版本。与困难版本的区别在于,此版本中 k=0k = 0。只有当你解决了该问题的所有版本时,才可以进行 hacking。

Ecrade 有两个由整数组成的序列 a0,a1,,an1a_0, a_1, \dots, a_{n-1}b0,b1,,bn1b_0, b_1, \dots, b_{n-1}。保证序列 aa 中所有元素的总和不超过序列 bb 中所有元素的总和。

初始时,Ecrade 可以对序列 aa 进行恰好 kk 次修改。保证 kk 不超过 aa 的总和。每次修改如下:

  • 选择一个下标 ii0i<n0 \le i < n),满足 ai>0a_i > 0,并执行 ai:=ai1a_i := a_i - 1

之后,Ecrade 将对 aabb 依次执行以下三个操作,这称为 一轮操作

  1. 对于每个 0i<n0 \le i < n
    t:=min(ai,bi)t := \min(a_i, b_i)
    ai:=aita_i := a_i - t
    bi:=bitb_i := b_i - t
  2. 对于每个 0i<n0 \le i < n
    ci:=a(i1)modnc_i := a_{(i-1) \bmod n}
  3. 对于每个 0i<n0 \le i < n
    ai:=cia_i := c_i

Ecrade 想知道,在对 aa 进行恰好 kk 次修改后,使得 aa 中所有元素都变为 00 所需的最少轮数。

这看起来有点复杂,请你帮他解决这个问题!


输入格式

每个测试文件包含多个测试用例。第一行包含一个整数 tt1t21041 \le t \le 2 \cdot 10^4),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 n,kn, k1n21051 \le n \le 2 \cdot 10^5k=0k = 0)。

第二行包含 nn 个整数 a0,a1,,an1a_0, a_1, \dots, a_{n-1}1ai1091 \le a_i \le 10^9)。

第三行包含 nn 个整数 b0,b1,,bn1b_0, b_1, \dots, b_{n-1}1bi1091 \le b_i \le 10^9)。

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5。同时保证在每个测试用例中,aa 的总和不超过 bb 的总和,并且 kk 不超过 aa 的总和。


输出格式

对于每个测试用例,输出在对 aa 进行恰好 kk 次修改后,使得 aa 中所有元素变为 00 所需的最少轮数。


示例

输入:

4
3 0
1 1 4
5 1 4
4 0
1 2 3 4
4 3 2 1
4 0
2 1 1 2
1 2 2 1
8 0
1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1

输出:

1
4
4
8

提示

在此版本中,Ecrade 无法对 aa 进行修改。

第一个测试用例:

  • 第一轮后,a=[0,0,0]a = [0,0,0]b=[4,0,0]b = [4,0,0]

第二个测试用例:

  • 第一轮后,a=[3,0,0,1]a = [3,0,0,1]b=[3,1,0,0]b = [3,1,0,0]
  • 第二轮后,a=[1,0,0,0]a = [1,0,0,0]b=[0,1,0,0]b = [0,1,0,0]
  • 第三轮后,a=[0,1,0,0]a = [0,1,0,0]b=[0,1,0,0]b = [0,1,0,0]
  • 第四轮后,a=[0,0,0,0]a = [0,0,0,0]b=[0,0,0,0]b = [0,0,0,0]