比赛 专项训练十题 评测结果 AAAAAAAAWW
题目名称 积木大赛 最终得分 80
用户昵称 玉带林中挂 运行时间 0.038 s
代码语言 C++ 内存使用 0.44 MiB
提交时间 2017-05-30 21:37:28
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#define MAX 0x7fff
using namespace std;
int n,h[MAX];
int search(int x,int y) 
{
    if(y==x) return h[x]; else if(y<x) return 0;
    int min=1<<30,j;
    for(int i=x;i<=y;i++) if(h[i]<min) min=h[j=i];
    for(int i=x;i<=y;i++) h[i]-=min;
    return search(x,j-1)+search(j+1,y)+min;
}
int main() 
{
   	freopen("BlockNOIP2013.in","r",stdin);
	freopen("BlockNOIP2013.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++) cin>>h[i];
    cout<<search(1,n);
    fclose(stdin);fclose(stdout);
    return 0;
}