求助!没有用递归动态内存,都是静态内存,却有两个点MLE
查看原帖
求助!没有用递归动态内存,都是静态内存,却有两个点MLE
322285
北京楼主2021/2/4 14:24

求助!为什么有些点MLE,有些点又AC了?

以下是代码:

//P1095 [NOIP2007 普及组] 守望者的逃离
#include<bits/stdc++.h>
using namespace std;
int dp[300000+10][1000+10],ti=0x7fffffff;
int main()
{
	int m,s,t;
	cin>>m>>s>>t;
	for(int i=1;i<=t;++i)
		for(int j=1;j<=m;++j)
		{
			dp[i][j]=max(dp[i-1][j]+17,dp[i-1][j+4]);
			if(j>=10&&dp[i-1][j-10]+60>dp[i][j])
				dp[i][j]=dp[i-1][j-10]+60;
			if(dp[i][j]>=s)ti=min(ti,i);
		}
	if(dp[t][m]<s)cout<<"No"<<endl<<dp[t][m];
	else cout<<"Yes"<<endl<<ti;
	return 0;
} 

感谢指教!

2021/2/4 14:24
加载中...