题解 P1969 【积木大赛】

FP·荷兰猪

2017-04-27 19:54:46

Solution

```cpp #include <iostream> using namespace std; int main() { int n,a,last=0,ans=0; cin>>n; for(int i=1;i<=n;i++) { cin>>a; if(a>last)ans+=(a-last); last=a; } cout<<ans<<endl; } //把序列分成(a1,..ai)(ai+1,...aj)......(ak,...an)多个非递减序列。 //然后所有段中最大值的和减去除第一段外的段的最小值,化简一下,就出来了 ```