其他分享
首页 > 其他分享> > luogu1510:精卫填海

luogu1510:精卫填海

作者:互联网

#include<bits/stdc++.h>
using namespace std;
int f[30000000];
int a[10010];
int b[10010];
int main()
{
	int v,n,c,x=0,k=1;
	scanf("%d %d %d",&v,&n,&c);
	for(int i=1;i<=n;i++)
	{
		scanf("%d %d",&a[i],&b[i]);
		
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=c;j>=b[i];j--)
		{
			f[j]=max(f[j],f[j-b[i]]+a[i]);
		}
	}
	while(f[k]<v)
	{
		k++;
		if(k>c)
		{
			printf("Impossible");
			return 0;
		}
	}
	printf("%d",c-k);
	return 0;
}

标签:std,精卫填海,return,int,luogu1510,printf,10010
来源: https://blog.csdn.net/chengdazhuo/article/details/97301818