有人能帮忙看一下吗
查看原帖
有人能帮忙看一下吗
473511
不再是603liwenhan楼主2022/5/22 22:25
#include<bits/stdc++.h>
using namespace std;
int cnt,m,n,w[10100],c[10100],ans[10100],gg=1e9;
int main(){
	cin>>cnt>>n>>m;
	for(int i=1;i<=n;i++)cin>>c[i]>>w[i];
	for(int i=1;i<=n;i++)
		for(int j=m;j>=w[i];j--)
			ans[j]=max(ans[j],ans[j-w[i]]+c[i]);
	for(int i=1;i<=m;i++)
		if(ans[i]>=cnt&&ans[i]<gg)
			gg=ans[i];
	if(cnt-gg>=0)cout<<cnt-gg<<endl;
	else cout<<"Impossible"<<endl;
	return 0;
}
2022/5/22 22:25
加载中...