10分求助
查看原帖
10分求助
364876
信息学carryHarry楼主2021/1/27 15:02
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,v,c,dp[200005]={0},w[3005],val[3005];
	cin>>v>>n>>c;
	for(int i=1;i<=n;i++)
		cin>>w[i]>>val[i];
	for(int i=1;i<=n;i++)
		for(int j=c;j>=w[i];j--)
			dp[j]=max(dp[j],dp[j-w[i]]+val[i]);
	if(v>=dp[c])
		cout<<v-dp[c];
	else
		cout<<"Impossible";
	return 0;
}

2021/1/27 15:02
加载中...