题解(100WAC)
查看原帖
题解(100WAC)
1299866
renmafan楼主2024/8/13 21:33
#include <bits/stdc++.h>
using namespace std;
int n,t;
struct node 
{
	double m;
	double v;
	double s; 
} a[105];
bool cmp(node x,node y)
{
	return x.s > y.s;
}
double sum; 
int main()
{
	cin >> n >> t;
	for (int i = 1;i <= n;i++)
	{
		cin >> a[i].m >> a[i].v;
		a[i].s = a[i].v / a[i].m;
	}
	sort(a+1,a+n+1,cmp);
	for (int i = 1;i <= n;i++)
	{
		if (a[i].m <= t){
			sum += a[i].v;
			t -= a[i].m;
		}
		else{
			sum += t * a[i].s;
			break;
		}
	} 
	printf("%.2lf\n",sum);
	return 0;
}
2024/8/13 21:33
加载中...