#P12514. 「OOI 2024 Day 2」几乎确定

「OOI 2024 Day 2」几乎确定

题目描述

我们说两个多重集几乎确定相等,如果它们在至多一个元素上有所不同。也就是说,可以通过最多修改第一个多重集中的一个元素使两者相等。例如,多重集 {1,1,2}\{1, 1, 2\}{1,2,3}\{1, 2, 3\}几乎确定相等的,{1,1,1}\{1, 1, 1\}{1,1,1}\{1, 1, 1\}几乎确定相等的,而 {1,2,3}\{1, 2, 3\}{3,4,5}\{3, 4, 5\} 不是几乎确定相等的。

小男孩瓦西娅非常喜欢这个定义,并立即想出了一个相关问题。

瓦西娅有两个数组 aabb,且对于所有 ii11nn,都有 aibia_i \ge b_i。瓦西娅可以对数组 aa 进行任意多次(包括零次)以下操作:选择任意编号 ii (1in)(1 \le i \le n),将 aia_i 减去 11。数组 bb 保持不变。

瓦西娅很快明白了如何通过一系列操作使得数组 aabb 的多重集值几乎确定相等。因此,他将问题复杂化——现在他希望对这两个数组的每个前缀,了解需要应用的最小操作次数,使得前缀的数组值几乎确定相等。

更正式地说,对于从 11nn 的每个 kk,瓦西娅希望取数组 aa 的前 kk 个元素 a1,a2,,aka_1, a_2, \ldots, a_k 和数组 bb 的前 kk 个元素 b1,b2,,bkb_1, b_2, \ldots, b_k。他想知道需要进行的最小操作次数,使得这两个前缀的多重集几乎确定相等。注意,每个 kk 的问题独立解决。

输入格式

每个测试点包含一个或多个输入数据组。第一行包含一个整数 tt (1t100000)(1 \le t \le 100000),表示输入数据组的数量。接下来是各组数据的描述。

每组数据的第一行包含一个整数 nn (1n200000)(1 \le n \le 200000),表示数组 aabb 的大小。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (1ai109)(1 \le a_i \le 10^{9}),表示数组 aa 的元素。

第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \ldots, b_n (1biai)(1 \le b_i \le a_i),表示数组 bb 的元素。

NN 为所有数据组中 nn 的总和。保证 N200000N \le 200000

输出格式

对于每组输入数据,输出 nn 个数字,每个数字表示对每个可能的前缀长度解决问题的答案。可以证明,答案始终存在。

4
2
3 4
1 2
2
3 4
1 3
3
11 17 14
1 13 10
4
100 11 50 42
30 1 20 5

0 1
0 0
0 4 2
0 10 30 48

3
4
2 4 5 12
1 3 4 10
4
3 5 8 20
1 2 6 7
4
4 4 4 4
1 2 3 4

0 1 1 3
0 1 3 6
0 2 3 3

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制 子任务依赖 备注
11 1616 N100N \leq 100 00
22 1313 N500N \leq 500 0,10, 1
33 2424 N3000N \leq 3000 020 \sim 2
44 1313 ai<bi+1a_i < b_{i+1}
55 1414 44 aiai+1a_i \leq a_{i+1}bibi+1b_i \leq b_{i+1}
66 2020 050 \sim 5