黄石网站建设方案,网络服务提供者接到通知后,网站建设公司的未来,郑州网站优化价格Farmer John 的 N头奶牛对他们牛棚的室温非常挑剔。
有些奶牛喜欢温度低一些#xff0c;而有些奶牛则喜欢温度高一些。
Farmer John 的牛棚包含一排 N个牛栏#xff0c;编号为 1…N#xff0c;每个牛栏里有一头牛。
第 i#xfffd; 头奶牛希望她的牛栏中的温度是 pi而有些奶牛则喜欢温度高一些。
Farmer John 的牛棚包含一排 N个牛栏编号为 1…N每个牛栏里有一头牛。
第 i 头奶牛希望她的牛栏中的温度是 pi而现在她的牛栏中的温度是 ti。
为了确保每头奶牛都感到舒适Farmer John 安装了一个新的空调系统。
该系统进行控制的方式非常有趣他可以向系统发送命令告诉它将一组连续的牛栏内的温度升高或降低 11 个单位——例如「将牛栏 5…85…8 的温度升高 11 个单位」。
一组连续的牛栏最短可以仅包含一个牛栏。
请帮助 Farmer John 求出他需要向新的空调系统发送的命令的最小数量使得每头奶牛的牛栏都处于其中的奶牛的理想温度。
输入格式
输入的第一行包含 N。
下一行包含 N 个非负整数 p1…pN用空格分隔。
最后一行包含 N 个非负整数 t1…tN。
输出格式
输出一个整数为 Farmer John 需要使用的最小指令数量。
数据范围
1≤N≤10^5, 0≤pi,ti≤100000
输入样例
5
1 5 3 3 4
1 2 2 2 1输出样例
5样例解释
一组最优的 Farmer John 可以使用的指令如下
初始温度 1 2 2 2 1
升高牛棚 2..51 3 3 3 2
升高牛棚 2..51 4 4 4 3
升高牛棚 2..51 5 5 5 4
降低牛棚 3..41 5 4 4 4
降低牛棚 3..41 5 3 3 4
参考代码
/*
给定数组a,b,进行m次操作使得两数组相等。
p a-b,d为p的差分数组。
可以理解为将数组p变为全0的操作次数每次操作为1。
可以转换为差分对于p的差分数组d每次对于两个数1和-1。最后使得数组全为0
等价于统计d数组中0的数pos与0的数neg求出最大值。
d为差分数组每次要同时改变两个数使其一个1一个-1。
若正数全部归零剩余的让负数和n后的数字做交换。
*/
#include iostream
#include cstring
#include algorithmusing namespace std;
const int N 1e510;
int a[N],b[N];
int n;int main()
{cinn;for(int i1;in;i) cina[i];for(int i1;in;i){cinb[i];a[i] - b[i];}for(int in;i0;i--) a[i] - a[i-1];int pos 0,neg 0;for(int i1;in;i){if(a[i]0) pos a[i];else neg - a[i];}printf(%d\n,max(pos,neg));return 0;
}