求助
查看原帖
求助
754205
HLJoier楼主2024/1/22 17:42
#include<bits/stdc++.h>
using namespace std;
int k[100000],m[100000],f[10000][10000];
int main()
{
	int v,n,c;
	cin>>v>>n>>c;
	for(int i=1;i<=n;i++)
		cin>>k[i]>>m[i];
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=c;j++)
		{
			if(m[j]<=j)
				f[i][j]=max(f[i-1][j],f[i-1][j-m[i]]+k[i]);
			else
				f[i][j]=f[i-1][j];
		}
	}
	if(v-f[n][n]>=0)
		cout<<f[n][n]<<endl;
	else
		cout<<"Impossible"<<endl;
}
2024/1/22 17:42
加载中...