药丸
题号:NC246838
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛有 n 个属性,第 i 个属性的初始值为 a_i ,牛牛想把第 i 个属性的值变为目标值 b_i

现在牛牛 种不同颜色的药丸(每种药丸都有无穷多个),吃一个药丸会产生一个效果。同种颜色的药丸效果相同,不同颜色的药丸效果不同。

每种颜色的药丸对应以下效果之一:

* 第 1 个属性值 + 1
* 第 1 个属性值 - 1
* 第 2 个属性值 + 1
* 第 2 个属性值 - 1
* ......
* 第 n 个属性值 + 1
* 第 n 个属性值 - 1

以上描述了 种效果,它们与 种颜色的药丸一一对应。

开始时牛牛并不知道药丸颜色与药丸效果的对应关系。若牛牛吃一个药丸,则会获得该颜色药丸对应的效果,并且知道该颜色的药丸对应的效果。

牛牛通过吃药丸来改变自己的属性值。求在最坏的情况下,牛牛要吃多少药丸才能将所有属性从初始值变为目标值。

(若初始时初始值均等于目标值,则不需要吃药丸,输出 0)

输入描述:

第一行输入一个正整数  ,表示牛牛的属性数量。

接下来一行 n 个整数,第 i 个整数 表示牛牛第 i 个属性的初始值。

接下来一行 n 个整数,第 i 个整数 表示牛牛第 i 个属性的目标值。

输出描述:

输出一个整数 m,表示在最坏的情况下,牛牛要吃多少药丸才能将所有属性从初始值变为目标值。
示例1

输入

复制
2
1 3
1 4

输出

复制
5

说明

在样例中,牛牛有 2 个属性值分别为 1 3,目标值分别为 1 4。

在最坏情况下:

牛牛吃的第一个胶囊使得其第一个属性值下降 1,牛牛的属性值变为:0 3。此时牛牛肯定不会再吃该颜色的药丸了。

牛牛吃的第二个胶囊使得其第二个属性值下降 1,牛牛的属性值变为:0 2。此时牛牛肯定不会再吃该颜色的药丸了。

牛牛吃的第三个胶囊使得其第一个属性值增加 1,牛牛的属性值变为:1 2。牛牛的第一个属性值以及足够,此时牛牛肯定不会再吃该颜色的药丸了。

牛牛吃的第四个胶囊使得其第二个属性值增加 1,牛牛的属性值变为:1 3。

此时牛牛可以再吃一个同上颜色的药丸,使得其第二个属性值增加 1,变为 4。

共需要 5 个药丸。
示例2

输入

复制
3
1 1 4
5 1 4

输出

复制
10