题目
Farmer John 的 N 头奶牛对他们牛棚的室温非常挑剔。
有些奶牛喜欢温度低一些,而有些奶牛则喜欢温度高一些。
Farmer John 的牛棚包含一排 N个牛栏,编号为 1…N,每个牛栏里有一头牛。
第 i 头奶牛希望她的牛栏中的温度是 pi,而现在她的牛栏中的温度是 ti。
为了确保每头奶牛都感到舒适,Farmer John 安装了一个新的空调系统。
该系统进行控制的方式非常有趣,他可以向系统发送命令,告诉它将一组连的牛栏内的温度升高或降低 1 个单位——例如「将牛栏 5…8的温度升高 1个单位。
一组连续的牛栏最短可以仅包含一个牛栏。
请帮助 Farmer John 求出他需要向新的空调系统发送的命令的最小数量,使得每头奶牛的牛栏都处于其中的奶牛的理想温度。
输入
输入的第一行包含 N。
下一行包含 N个非负整数 p1…pN,用空格分隔。
最后一行包含 N 个非负整数 t1…tN。
输出
输出一个整数,为 Farmer John 需要使用的最小指令数量。
样例
输入样例:
5
1 5 3 3 4
1 2 2 2 1
输出样例:
5
代码
#include<iostream>
using namespace std;
const int N = 100010;
int n;
int w[N];int main(){scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d",&w[i]);for(int i=1;i<=n;i++){int t;scanf("%d",&t);w[i] -=t;}for(int i=n;i>1;i--) w[i] -= w[i-1];int a=0,b=0;for(int i=1;i<=n;i++){if(w[i]>0) a+=w[i];else b-=w[i];}printf("%d",max(a,b));
}