#2出错,不知道哪里的问题,求大佬改
查看原帖
#2出错,不知道哪里的问题,求大佬改
1320231
haojiahuo456楼主2024/7/18 19:03
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
int main()
{
	int m, n;
	cin >> n >> m;
	map<double, double> map1;
	double a[105], b[105],c[105];
	double num = 0;
	for (int i = 0; i < n; i++)
	{
		cin >> b[i] >> a[i];
		c[i] = a[i] / b[i];
		map1[c[i]] = b[i];
	}
	map<double, double>::iterator it;
	for (auto it = map1.rbegin(); it != map1.rend(); ++it)
	{
		if (it->second < m)
		{
			num += it->first * it->second;
			m -= it->second;
		}
		else
		{
			num += it->first * m;
			m = 0;
		}
	}
	printf("%.2lf", num);
}
2024/7/18 19:03
加载中...