建筑工人小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<
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)