30分……蒟蒻流泪
查看原帖
30分……蒟蒻流泪
457042
文理student楼主2021/12/2 20:55

是不是我的思路就是错的www

#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[1005],b[1005],f[50005];
int main()
{
	scanf("%d%d",&n,&m);
	memset(f,63,sizeof(f));
	f[0]=0;
	for(int i=1;i<=n;i++)
	   scanf("%d%d",&a[i],&b[i]),f[a[i]]=b[i];
    for(int i=1;i<=n;i++)
	    for(int j=a[i];j<=m+5000;j++)
		{
			f[j]=min(f[j],f[j-a[i]]+b[i]);
		}
	printf("%d",min(f[m],f[m+5000]));
	return 0;
}

自己乱写的……换正常方法过了一次,但是不理解为什么这个代码不对劲……
如果本身思路有问题的话,希望各位巨佬提出来让我死心qwq

2021/12/2 20:55
加载中...