城市建造
题号:NC54793
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
64bit IO Format: %lld

题目描述

程序员的能力是有极限的,越是玩弄代码,就越会发现程序员的能力是有极限的......除非不当程序员!

经过一番思考,你决定去当包工头。公司非常重用你,并给你一块地。起初,这块地上的大楼高度都为 0。公司希望你能按照要求在一条直线上建造座大楼,将大楼的高度建造为。由于你是学过程序的,你的施工队每天可以选择编号范围 和 ,然后施工队会将 中的大楼高度增加1米:假设大楼原来的高度是,那么的高度会增加1米。为了突破你的极限,你需要写一个程序来计算完成这个项目的最少天数。

输入描述:

第一行是一个整数,表示有 组数据。接下来有 行,每行一个整数,表示需要建造 座大楼,下一行有 个数字,表示大楼的目标高度。



输出描述:

输出所需的最小天数,使得大楼的高度刚好到达目标高度。

示例1

输入

复制
2
5
1 3 2 3 1
8
1 5 3 7 2 6 4 8

输出

复制
4
17