求助大佬
查看原帖
求助大佬
710862
thrX楼主2022/12/22 20:43

我用的是模拟做法

但是#10 TLE了

90分

由于我“求知心切”(bushi

CODE:

#include<bits/stdc++.h>
using namespace std;
int r[100002];//实际高度real 
int h[100002];//希望高度hope
int main(){
	
	std::ios::sync_with_stdio(false);
	std::cin.tie(0);
	std::cout.tie(0);
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>h[i];
	}
	int ans=0;
	bool f=0;
	while(1){
		int lq=0,rq=0;
		for(int i=1;i<=n;i++){
			if(r[i]<h[i]&&lq==0){
				lq=i;
			}
			if(r[i+1]==h[i+1]&&lq!=0){
				ans++;
				rq=i;
				for(int i=lq;i<=rq;i++){
					r[i]++; 
				}
				lq=0;rq=0;
			}
		}
		bool ff=0;
		for(int i=1;i<=n;i++){
			if(r[i]<h[i]){
				ff=1;
				break;
			}
		}
		if(!ff){
			f=1;
			break;
		}
	}
	cout<<ans;
	
	return 0;
} 
2022/12/22 20:43
加载中...