73求调
查看原帖
73求调
1353713
RzRoyZheng楼主2025/7/18 21:06
#include<bits/stdc++.h>
using namespace std;
int m,n;
long long w[10001],c[10001];
long long dp[10001][10001];
int maxx(int x,int y)
{
	if(x<y)return y;
	else return x;
}
int main()
{
	cin>>n>>m; 
	for(int i=1;i<=n;i++)cin>>w[i]>>c[i];
	for(int i=1;i<=n;i++)
	{
		for(int v=m;v>0;v--)
		{
			if(w[i]<=v) dp[i][v]=max(dp[i-1][v],dp[i-1][v-w[i]]+c[i]);
			else dp[i][v]=dp[i-1][v];
		}
	}
	cout<<dp[n][m];
	return 0;
}
2025/7/18 21:06
加载中...