40分,6WA萌新求助/qq
  • 板块P1776 宝物筛选
  • 楼主zcxnb
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/8/10 13:29
  • 上次更新2023/11/3 04:45:26
查看原帖
40分,6WA萌新求助/qq
473401
zcxnb楼主2023/8/10 13:29
#include<bits/stdc++.h>
#define int long long
const int N=1e7+5;
using namespace std;
int n,q,m,a,b,cnt=0;
int v[N],w[N],dp[N];
signed main(){
	scanf("%lld%lld",&n,&q);
	for(int i=1;i<=n;i++){
		scanf("%lld%lld%lld",&a,&b,&m);
		for(int j=1;j<=m;j<<=1){
			v[++cnt]=a*j;w[cnt]=b*j;m-=j;
		}
		if(m)  v[++cnt]=a*m;w[cnt]=b*m;
	}
	for(int i=1;i<=cnt;i++){
		for(int j=q;j>=w[i];j--){
			dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
		}
	}
	printf("%lld\n",dp[q]);
	/*
	for(int i=1;i<=q;i++){
		printf("%lld\n",dp[i]);
	}
	*/
} 
2023/8/10 13:29
加载中...