求大神帮助:时间优化
查看原帖
求大神帮助:时间优化
977004
RealManGuanBro楼主2023/7/13 17:06

#8、#9、#10出现TLE

#8
TLE
1.20s/680.00KB
Time Limit Exceeded.
#9
TLE
1.20s/680.00KB
Time Limit Exceeded.
#10
TLE
1.20s/804.00KB
Time Limit Exceeded.

我尝试过优化,但是优化后样例都算不对了。 以下是我的源代码,语言是C++11,求各位大神帮忙看看,谢谢!

#include<bits/stdc++.h>
using namespace std;
int n,days=0;//长度,天数
short d[100000];//坑的深度
bool pd()//判断是否未完工
{
	for(int i=1;i<=n;i++)
		if(d[i]!=0)
			return true;//是,未完工
	return false;//否,完工
}
int main()
{
	memset(d,0,sizeof(d));
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>d[i];
	do
	{
		int j=1;
		while(d[j]==0)//找到第一个坑
			j++;
		while(d[j]!=0)//填坑
		{
			d[j]--;
			j++;
		}
		days++;
	}while(pd());//判断是否未完工
	cout<<days;
	return 0;
}
2023/7/13 17:06
加载中...