<悬赏关注> 求救!!!!!!
查看原帖
<悬赏关注> 求救!!!!!!
1355403
HarrycodingH楼主2024/8/21 21:27
#include <bits/stdc++.h>
using namespace std;
struct bag{
	int m; // 重量
	int v; // 价值
}a[110];
bool cmp(bag x,bag y){
	return  x.v *y.m > x.m *y.v  ;
}
int n,t;
double ans=0;
int main (){
	cin >> n >> t;
	for (int i=1;i<=n;i++) cin >> a[i].m >> a[i].v ; // 输入
	sort(a+1,a+n+1,cmp); //性价比排序
	int j=1;
	while (t>0){
		if(j<=n){
			if(a[j].m-t>=0) ans+=a[j].v /a[j].m*t, t=0;
			else ans+=a[j].v, t=t-a[j].m ;
			j++;
		}else break;
	} //计算ans
	printf("%.2f",ans); //输出
	return 0;
}
2024/8/21 21:27
加载中...