欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-09 09:46:06
...

题目

代码:

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

相关标签: NOIP 2018