Logo Universal Online Judge

UOJ

时间限制:2 s 空间限制:1024 MB
统计

有 $n$ 株草排成一行,第 $i$ 株草有一个原始高度 $a_i$,还有一个目标高度 $b_i$。我们认为高度$>0$ 的草是存活的,而高度$=0$ 的草已经死亡。

你想要修剪这些草,有两种修剪操作:

1.选定一个区间 $[l,r]$ ,将 $[l,r]$ 内所有仍然存活的草的高度都增加 1;

2.选定一个区间 $[l,r]$ ,将 $[l,r]$ 内所有仍然存活的草的高度都降低 1;

如果一株草在经过这个操作后高度变为了$0$ ,那么就被视为已经死亡,这株草不再受后续的操作影响。

求让所有草的高度从 $a_i$ 变成 $b_i$ 所需要两种操作的最小数目。

输入格式

输入中包含多组测试数据。

输入的第一行包含一个整数 $T$,表示数据组数。

对于每组数据,第一行一个整数 $n$。

接下来一行,包含 $n$ 个整数,描述 $a_i$。 接下来一行,包含 $n$ 个整数,描述 $b_i$。

输出格式

对于每组数据,输出一行一个整数,表示答案。若合法方案不存在,则输出 -1。

3
5
1 1 1 1 1
2 0 2 0 2
6
1 1 4 5 1 4
1 9 1 9 8 10
8
2 0 0 4 1 1 1 5
2 0 0 5 0 1 1 7
3
18
4