第一组数据re,求调
查看原帖
第一组数据re,求调
1065227
hyjhyj111楼主2023/11/6 21:14
#include<bits/stdc++.h>
using namespace std;
typedef  long long ll;
double t;
int n;
double sum = 0.0,m = 0.0;//m 为选到的总质量,sum为结果 
struct coin{
	double val;//性价比 
	double m,v;
}c[1010];
bool cmp(coin a,coin b)
{
	return a.val>b.val;
}
int main()
{	
	cin>>n>>t;
	for(int i = 1;i <= n;i++) {
		cin>>c[i].m>>c[i].v;
		c[i].val = c[i].v/c[i].m;
	}
	sort(c+1,c+n+1,cmp);
	int i = 0;
	while(m < t)
	{
		i++;
		m += c[i].m;
		sum += c[i].v;
	}
	double st;
	st = m - t;//多的质量 
	sum -= 1.0*st*c[i].v/c[i].m;
	printf("%.2lf",sum);
	return 0;
}
2023/11/6 21:14
加载中...