砌墙(c++)

砌墙(c++),第1张

题目背景

建筑工人小T每天的工作就是砌墙。

题目描述

小T面前是一个堆砌了一部分的砖墙,这个砖墙的层与层之间是整齐排列的,而不像普通的砖墙那样交错排列。因此我们可以将这面墙看成是 NN 摞砖块堆砌而成的,例如下图所示的墙面有 66 摞砖块。

建筑工人小T的强大之处在于每一次砌砖都可以选择任意一摞或多摞砖块并在其顶部砌上一块砖。现在小T要将这面砖墙砌完整,请问最少需要几次砌砖的 *** 作才能完成这个任务?

例如上图的砖墙砌完整后是这样的:

输入格式

第一行一个整数 NN,表示该砖墙由 NN 摞砖组成。

第二行 NN 个整数空格隔开,按顺序表示从左到右每一摞砖的数量。

输出格式

符合题目要求的答案

测试样例

输入样例 #1

6
3 4 2 4 1 2

输出样例 #1

3

输入样例 #2

3
98 102 100

输出样例 #2

4
#include 
using namespace std;
long long a[10000000];
int main(){
	long long n,temp,b;
	cin>>n;
	for(long long i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+n+1);
	b=a[n]-a[1];
	cout<

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/728609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)