给定数轴上的若干点 pos1...n,有一些狼在这些点上,它们的位置在 pos1...n 的范围内,它们想要捕食一些兔子,但是限于精力,每条狼至多只能捕食一只兔子,由于不能饿死,所以每条狼至少需要捕食一只兔子。
兔子有两个大本营位于 0 和 L,大本营里有无限多个兔子。而另有一些落单的兔子,它们的位置也在 pos1...n 的范围内。
一个位置为 x 的狼想要捕食一个位置为 y 的兔子需要花费 |x−y| 的代价,请问最小的总代价为多少。
输入格式
第一行一个正整数 n,表示范围中存在兔子跟狼的位置的集合大小。
接下来一行 n 个整数 ai,若 ai>0 则表示 posi 位置上有 ai 只狼,否则表示 posi 位置上有 −ai 只兔子。
接下来一行 n+1 个整数 b0∼n,表示 posi+1−posi,其中 pos0=0,posn+1=L,注意 bi 有可能为 0。
输出格式
输出一个整数表示答案。
样例输入 1
1
-100
1 1
样例输出 1
0
样例输入 2
1
100
1 1
样例输出 2
100
样例 3~4
见附加文件。
数据范围
对于 100% 的数据,令 ci=|ai|,则 1≤n≤5×105,0≤ci≤105,0≤L≤5×108。
各测试包的附加限制如下表所示:
子任务编号 | 得分 | 限制 |
---|---|---|
1 | 15 | n,∑ci≤15 |
2 | 10 | n,∑ci≤5000 |
3 | 5 | ai≥0 |
4 | 20 | bi=1 |
5 | 25 | n,∑ci≤5×105 |
6 | 5 | n≤105 |
7 | 20 | 无限制 |