1. 程式人生 > >【LG5019】[NOIP2018]道路鋪設

【LG5019】[NOIP2018]道路鋪設

【LG5019】[NOIP2018]道路鋪設

題面

洛谷

題解

\(NOIP\)\(NOIP\)差評
設當前做到了位置\(i\)
\(h_i\) \(-\) \(h_i\)\(_+\)\(_1\) \(=\) \(x\)
\(x>0\)\(x\)加入貢獻即可

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
inline int gi() {
    register int data = 0, w = 1;
    register char ch = 0;
    while (ch != '-' && !isdigit(ch)) ch = getchar();
    if (ch == '-') w = -1, ch = getchar();
    while (isdigit(ch)) data = data * 10 + ch - '0', ch = getchar();
    return w * data; 
}
#define MAX_N 100005 
int N, a[MAX_N], b[MAX_N];

int main () {
    N = gi();
    for (int i = 1; i <= N; i++) b[i] = a[i] = gi(); 
    for (int i = 1; i <= N; i++) b[i + 1] -= a[i];
    int ans = 0; 
    for (int i = 1; i <= N; i++) if (b[i] > 0) ans += b[i];
    printf("%d\n", ans); 
    return 0; 
}