CF2089B2 Canteen (Hard Version)

Description

This is the hard version of the problem. The difference between the versions is that in this version, there are no additional limits on $ k $ . You can hack only if you solved all versions of this problem. Ecrade has two sequences $ a_0, a_1, \ldots, a_{n - 1} $ and $ b_0, b_1, \ldots, b_{n - 1} $ consisting of integers. It is guaranteed that the sum of all elements in $ a $ does not exceed the sum of all elements in $ b $ . Initially, Ecrade can make exactly $ k $ changes to the sequence $ a $ . It is guaranteed that $ k $ does not exceed the sum of $ a $ . In each change: - Choose an integer $ i $ ( $ 0 \le i < n $ ) such that $ a_i > 0 $ , and perform $ a_i := a_i - 1 $ . Then Ecrade will perform the following three operations sequentially on $ a $ and $ b $ , which constitutes one round of operations: 1. For each $ 0 \le i < n $ : $ t := \min(a_i, b_i), a_i := a_i - t, b_i := b_i - t $ ; 2. For each $ 0 \le i < n $ : $ c_i := a_{(i - 1) \bmod n} $ ; 3. For each $ 0 \le i < n $ : $ a_i := c_i $ ; Ecrade wants to know the minimum number of rounds required for all elements in $ a $ to become equal to $ 0 $ after exactly $ k $ changes to $ a $ . However, this seems a bit complicated, so please help him!

Input Format

Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 2\cdot 10^4 $ ). The description of the test cases follows. The first line of each test case contains two integers $ n $ , $ k $ ( $ 1\le n\le 2\cdot 10^5 $ , $ 0\le k\le 2\cdot 10^{14} $ ). The second line of each test case contains $ n $ integers $ a_0, a_1, \ldots, a_{n - 1} $ ( $ 1 \le a_i \le 10^9 $ ). The third line of each test case contains $ n $ integers $ b_0, b_1, \ldots, b_{n - 1} $ ( $ 1 \le b_i \le 10^9 $ ). It is guaranteed that the sum of $ n $ across all test cases does not exceed $ 2\cdot 10^5 $ . It is also guaranteed that in each test case the sum of $ a $ does not exceed the sum of $ b $ , and that $ k $ does not exceed the sum of $ a $ .

Output Format

For each test case, output the minimum number of rounds required for all elements in $ a $ to become equal to $ 0 $ after exactly $ k $ changes to $ a $ .

Explanation/Hint

In the fifth test case, all elements in $ a $ become $ 0 $ after exactly $ 6 $ changes. In the sixth test case, Ecrade can do exactly one change to $ a_3 $ , then $ a $ will become $ [1,2,2,4] $ . - After the first round, $ a=[3,0,0,0],b=[3,1,0,0] $ ; - After the second round, $ a=[0,0,0,0],b=[0,1,0,0] $ . In the seventh test case, Ecrade can do exactly one change to $ a_4 $ , then $ a $ will become $ [2,1,1,1] $ . - After the first round, $ a=[0,1,0,0],b=[0,1,1,0] $ ; - After the second round, $ a=[0,0,0,0],b=[0,0,1,0] $ .