求助,第二个样例输出不了Impossible
  • 板块P1510 精卫填海
  • 楼主xjx199
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/3/31 01:40
  • 上次更新2024/3/31 10:20:42
查看原帖
求助,第二个样例输出不了Impossible
550898
xjx199楼主2024/3/31 01:40
#include<bits/stdc++.h>
using namespace std;
int v,n,c,k[1000001],m[1000001],f[1000001],ans=0;
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(c-j>ans&&f[j]>=v)
			{
				ans=c-j;//体力累加器 
			}
		}
	}
	if(ans<0){
		cout<<"Impossible";
	}
	else cout<<ans;
}
2024/3/31 01:40
加载中...