数据过弱(?)
查看原帖
数据过弱(?)
728483
wwwidk1234楼主2023/11/11 10:17

rt,这份代码连样例 22 都过不了,但是把整道题都 AC 了:

#include<bits/stdc++.h>
//#define int long long
#define debug(x) cout<<#x<<"="<<x<<endl;
using namespace std;
const int MAXN=510;
const int MAXM=2010;
const int MAXC=1e6+10;
int dp[MAXN][MAXM];
int c[MAXN],l[MAXN];
signed main()
{
	int n,L,mxc=-1;
	cin>>n>>L;
	memset(dp,0x3f,sizeof dp);
	for(int i=1;i<=n;i++)
		cin>>c[i]>>l[i];
	for(int i=1;i<=n;i++)
		dp[i][0]=0;
	for(int i=1;i<=n;i++)
		for(int j=L;j>0;j--)
			dp[i][j]=min(dp[i-1][j],dp[i-1][max(0,j-l[i])]+c[i]);
	if(dp[n][L]==0x3f3f3f3f) puts("no solution");
	else cout<<dp[n][L]<<endl;
	return 0;
}
//状态dp[i][j]表示前i件物品买到总容量为j的最少花费
//状态转移方程:dp[i][j]=max(dp[i-1][j],dp[i-1][max(0,j-l[i])]+c[i])
2023/11/11 10:17
加载中...