1. 程式人生 > >NO1P2018 T1鋪設道路 | | (NO1P2013 積木大賽)

NO1P2018 T1鋪設道路 | | (NO1P2013 積木大賽)

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int n,last=0,ans=0;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        int x;scanf("%d",&x);
        if(x>last) ans+=(x-last);
        last=x;
    }
    printf("%d",ans);
    return 0;
} 

考完NOIPday1,整個人都不好了。。。。。<_>
把序列分成(a1,..ai)(ai+1,...aj)......(ak,...an)多個非遞減序列。
然後所有段中最大值的和減去除第一段外的段的最小值,化簡一下,就出來了