为什么20pts?
查看原帖
为什么20pts?
658786
STUDENT00楼主2022/8/22 14:00

这不是01背包吗?

#include<bits/stdc++.h>
using namespace std;
int n,m,k,a[1000010],b[100010],dp[100010];
int main(){
	scanf("%d%d%d",&n,&m,&k);
	for(int i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]);
	for(int i=1;i<=n;i++){
		for(int j=m;j>=a[i];j--) dp[j]=max(dp[j],dp[j-a[i]]+b[i]);
	}
	if(dp[m]>=k) printf("yes\n");
	else printf("no\n");
	printf("%d",dp[m]);
	return 0;
}
2022/8/22 14:00
加载中...