本地能过,洛谷过不了编译,求助
查看原帖
本地能过,洛谷过不了编译,求助
1019983
Czero_2023楼主2023/9/10 20:02

本地可以跑,但洛谷编译不了,蒟蒻求助(゚Д゚

思路是每次一个连续段减少最少值

蒟蒻代码:

#include <iostream>
using namespace std;
int n,h[100005],ans=0,num=0,t=1,end,min_h;
void findmin()//找最小值 
{
	int tt=t;
	for(;tt<=n;tt++)
	{
		if(h[tt]==0)break;
		min_h=min(min_h,h[tt]);
		end=tt;//连续段结束点 
	}
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>h[i];num+=h[i]; 
	}
	while(num>0)//还有积木 
	{
		min_h=10005;//初赋 
		findmin();
		if(min_h!=10005)//必须检测到连续段 
		{
			num-=(end-t+1)*min_h;//用掉积木 
			for(;t<=end;t++)h[t]-=min_h;
			ans++;
		}
		t++; 
		if(t>n)t=1;//t不能超过n 
	}
	cout<<ans;
	return 0;
}

蒟蒻求助

2023/9/10 20:02
加载中...