0
已解决
张皓然
中级光能
中级光能
救救孩子吧,再做不出来就不行了
/*
题目描述 Description
牛们自创了一种纸牌游戏,它们使用的牌的牌面被分为了N阶,
分别被标记为整数1到N(我们玩的扑克牌的牌面通常从1阶到
13阶,也就是从A到K)。现在它们规定出牌方式只有一种,就
是打顺子,所谓顺子,就是从i到j(i≤j),每张牌各出一张
(比如2 3 4 5)。现在给出某头牛抓到的牌,请问最少出多
少次能够把牌出完。
输入描述 Input Description
第一行,一个整数N
接下来N行,第i行一个整数ai,表示牌面为i的牌,牛抓了ai张
输出描述 Output Description
牛最少要出多少次牌才能将牌出光
样例输入 Sample Input
5
2
4
1
2
3
样例输出 Sample Output
6
数据范围及提示 Data Size & Hint
1 <= N <= 100,000
0 <= ai <= 100000
*/
#include<iostream>
using namespace std;
int n,a[100005],ans;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
while(1){
int ed=0;
for(int i=1;i<=n;i++){
if(a[i]>=1){
ed=i;
break;
}
}
// cout<<1<<" ";
int k=ed;
while(a[k]>0){
k++;
}
// cout<<2<<" ";
ans++;
for(int i=ed;i<k;i++){
a[i]--;
}
// cout<<3<<" ";
bool l=true;
for(int i=1;i<=n;i++){
if(a[i]>0){
l=false;
}
}
// cout<<4<<" ";
if(l){
break;
}
}
// cout<<5<<" ";
cout<<ans;
return 0;
}
题目以注释
救救我吧
张皓然在2022-07-28 10:04:08追加了内容
救命啊,有人吗