当前位置: 代码迷 >> 综合 >> 【NOIP】【提高组】【D1】【p1969】【积木大赛】
  详细解决方案

【NOIP】【提高组】【D1】【p1969】【积木大赛】

热度:58   发布时间:2024-01-19 22:23:36.0

题目

代码:

#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)多个非递减序列
所有段中最大值的和减去除第一段外的段的最小值
化简一下,就出来了