社区讨论
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 条回复,欢迎继续交流。
正在加载回复...