#P1873F. 摘果子 (※※)

    ID: 1087 远端评测题 2000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>binary searchgreedymathtwo pointerstranslated

摘果子 (※※)

题目描述

卢卡面前有一排nn棵树。ii棵树结了aia_i个果,树高hih_i

他想从数组 [hl,hl+1,,hr][h_l, h_{l+1}, \dots, h_r] 中选择一个连续的子数组,使得每一个 ii (li<rl \leq i < r), hih_i能被hi+1h_{i+1}整除^{\dagger}。他将收集子数组中每棵树上的所有果实(即收集al+al+1++ara_l + a_{l+1} + \dots + a_r个果实)。但是,如果他收集的水果总数超过 kk,他就会被抓。

为了不被抓到,卢卡最多可以选择多长的子数组?

^{\dagger}如果比值 xy\frac{x}{y} 是整数,那么 xx 可以被 yy 整除。

输入描述

第一行包含一个整数 tt (1t10001 \leq t \leq 1000) - 测试用例的数量。

每个测试用例的第一行包含两个空格分隔的整数nnkk1n21051 \leq n \leq 2 \cdot 10^51k1091 \leq k \leq 10^9)--树的数量和卢卡在不被抓到的情况下可以收集的果实的最大数量。

每个测试用例的第二行包含 nn 个空格分隔的整数 aia_i1ai1041 \leq a_i \leq 10^4)。(1ai1041 \leq a_i \leq 10^4) - ii-th树中水果的数量。

每个测试用例的第三行包含 nn 个空格分隔的整数 hih_i1hi1091 \leq h_i \leq 10^9)。(1hi1091 \leq h_i \leq 10^9) - ii(th)树的高度。

所有测试用例的nn之和不超过21052 \cdot 10^5

输出描述

对每个测试用例输出一个整数,即满足条件的最大长度连续子数组的长度,如果没有这样的子数组,则输出00

5
5 12
3 2 4 1 8
4 4 2 4 1
4 8
5 4 1 2
6 2 3 1
3 12
7 9 10
2 2 4
1 10
11
1
7 10
2 6 3 1 5 10 6
72 24 24 12 4 4 2
3
2
1
0
3

说明

在第一个测试案例中,Luca 可以选择带有 l=1l=1r=3r=3 的子数组。

在第二个测试案例中,卢卡可以选择包含 l=3l=3r=4r=4 的子数组。

在第三个测试案例中,卢卡可以选择包含 l=2l=2r=2r=2 的子数组。