#P14112. [ZJCPC 2017] Sequence to Sequence

[ZJCPC 2017] Sequence to Sequence

Description

Chiaki 有一个序列 s1,s2,,sns_1, s_2, \dots, s_n。她希望通过以下操作将其变为另一个序列 t1,t2,,tnt_1, t_2, \dots, t_n

  • 选择两个下标 llrrlrl \le r),并将区间 [l,r][l, r] 内的每一个非零元素加 11
  • 选择两个下标 llrrlrl \le r),并将区间 [l,r][l, r] 内的每一个非零元素减 11

Chiaki 想知道,将序列 ss 变为 tt 所需的最少操作数是多少。

Input Format

输入包含多组数据。第一行为一个整数 TT,表示测试用例的数量。对于每组测试用例:

第一行包含一个整数 nn1n1051 \le n \le 10^5),表示序列的长度。

第二行包含 nn 个整数 s1,s2,,sns_1, s_2, \dots, s_n0si1090 \le s_i \le 10^9)。

第三行包含 nn 个整数 t1,t2,,tnt_1, t_2, \dots, t_n0ti1090 \le t_i \le 10^9)。

保证所有测试用例中 n106\sum n \le 10^6

Output Format

对于每个测试用例,输出一个整数表示最少的操作次数。如果无法将 ss 变为 tt,则输出 1-1

2
5
1 1 1 1 1
2 0 2 0 2
7
3 1 2 3 2 1 4
2 0 0 0 0 0 2
3
3

Hint

对于第一个测试用例:$\{1,1,1,1,1\} \xrightarrow{[2,2],\ -1} \{1,0,1,1,1\} \xrightarrow{[4,4],\ -1} \{1,0,1,0,1\} \xrightarrow{[1,5],\ +1} \{2, 0, 2, 0, 2\}$。

由 ChatGPT 5 翻译