经典的差分题目
洛谷3078也是类似的
click_here_to_visit
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190503125257387.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzUzMzU0NA==,size_16,color_FFFFFF,t_70)
我只是书本的搬运工
#include<iostream>
#include<algorithm>
#include<stack>
#include<vector>
#include<iostream>
#include<climits>
#include<iomanip>
#include<cmath>
#include<string>
#include<iterator>
#include<numeric>
#include<cstring>
#define _rep(i, a, b) for(int i = (a); i <= (b); ++i)
#define _for(i, a, b) for(int i = (a); i <(b); ++i)
#define oo INT_MAX / 3
#define maxn 100009
#define ll long long
#define db double
using namespace std;
int n, num[maxn], m[maxn];
ll p, q;
int main() {
ios::sync_with_stdio(0);
cin >> n;
cin >> num[1];
m[1] = num[1];
_rep(i, 2, n) {
cin >> num[i];
m[i] = num[i] - num[i - 1];
if (m[i] > 0) {
q += m[i];
}
if (m[i] < 0) {
p -= m[i];
}
}
cout << max(p, q) << endl;
cout << abs(p - q) + 1 << endl;
return 0;
}