40 分求助,剩下的 WA 了
  • 板块P1776 宝物筛选
  • 楼主Pig_py
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/4/5 18:13
  • 上次更新2023/10/28 04:31:06
查看原帖
40 分求助,剩下的 WA 了
448873
Pig_py楼主2022/4/5 18:13
#include<bits/stdc++.h>
#define itn int
#define logn long
#define ll long long
using namespace std; 
int n,t;
long long ans=0;
struct code{
	int v,w,m;
	double xjb;
}e[100005];
bool cmp(const code a,const code b){
	if(a.xjb!=b.xjb )return a.xjb<b.xjb;
	return a.w>b.w; 
}
int main(){
	scanf("%d%d",&n,&t);
	for(int i=1;i<=n;i++){
		scanf("%d%d%d",&e[i].v,&e[i].w,&e[i].m );
		if(e[i].w>t)e[i].v=0;
		e[i].xjb=(1.0*e[i].v )/(1.0*e[i].w );
	}
	sort(e+1,e+n+1,cmp);
	for(int i=n;i>=1;i--){
		if(e[i].w<=t){
			if((t/e[i].w)<=e[i].m ){
				ans+=(t/e[i].w)*e[i].v;
				t-=(t/e[i].w)*e[i].w ;
			}
			else{
				ans+=e[i].m*e[i].v;
				t-=e[i].m*e[i].w;
			}
			
		}
	} 
	printf("%lld\n",ans);
	return 0;
}
2022/4/5 18:13
加载中...