求助!本蒟蒻只有40分
查看原帖
求助!本蒟蒻只有40分
658856
best_people楼主2022/1/13 11:04
#include<iostream>
#include<algorithm>
using namespace std;
struct Gold
{
	double m,v;
	double d;
}g[110];
bool cmp(Gold x,Gold y)
{
	return x.d > y.d;
}
int main()
{
	int n,t;
	cin >> n >> t;
	for(int i = 1;i <= n;i++)
	{
		cin >> g[i].m >> g[i].v;
		g[i].d = g[i].v / g[i].m;
	}
	sort(g+1,g+n+1,cmp);
	double ans = 0;
	int wei = 0;
	for(int i = 1;i <= n;i++)
	{
		if(wei + g[i].m <= t)
		{
			wei += g[i].m;
			ans += g[i].v;
		}
		else
		{
			ans += (t - wei) * g[i].d;
			break;
		}
	}
	cout << ans << endl;
}
2022/1/13 11:04
加载中...