社区讨论

40分求调

P11377[GESP202412 七级] 武器购买参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mlz3644o
此快照首次捕获于
2026/02/23 19:21
2 周前
此快照最后确认于
2026/02/25 16:15
2 周前
查看原帖
前两个子任务AC 第三个只有1个点A
CPP
#include<bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
int dp[500050];
int w[10010],v[10010];
int n,m,V;
void solve(){
	memset(dp,0x3f,sizeof(dp));
	int i,j;
	cin>>n>>m>>V;
	for(i=1;i<=n;i++){
		cin>>w[i]>>v[i];
	}
	dp[0]=0; 
	for(i=1;i<=n;i++){
		for(j=m+m;j>=w[i];j--){
			dp[j]=min(dp[j-w[i]]+v[i],dp[j]);
		}
	}
	int minn=INF;
	for(i=m;i<=m+m;i++){
		if(dp[i]<=V){
			minn=min(minn,dp[i]);
		}
	}
	if(minn==INF){
		cout<<-1<<'\n';
	}
	else{
		cout<<minn<<'\n';
	}
	return;
}
int main(){
	int t;
	cin>>t;
	while(t--){
		solve();
	}
	return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...