10分求助
  • 板块P1510 精卫填海
  • 楼主焚魂
  • 当前回复45
  • 已保存回复45
  • 发布时间2020/7/21 21:01
  • 上次更新2023/11/6 22:38:37
查看原帖
10分求助
206423
焚魂楼主2020/7/21 21:01
#include<iostream>
#include<cstdio>
#include<cstring>

using namespace std;

int v,n,c,k[10010],m[10010],f[100010];

int main()
{
	cin>>v>>n>>c;
	for(int i=1;i<=n;i++)
	cin>>k[i]>>m[i];
	
	for(int i=1;i<=n;i++)
	for(int j=c;j>=m[i];j--)
	{
		f[j]=max(f[j],f[j-m[i]]+k[i]);
		if(f[j]>=v)
		{
			cout<<f[j]-v;
			return 0;
		}
	}
	
	cout<<"Impossible";
	
	return 0;
}
2020/7/21 21:01
加载中...