求助各位大佬!第二个测试点WA
查看原帖
求助各位大佬!第二个测试点WA
284007
xuyx楼主2022/8/16 15:25

感觉没有问题,但是第二个测试点WA。麻烦各位大佬帮忙看看是哪里的问题??

#include<iostream>
#include<algorithm>
#include <unordered_map>
using namespace std;

int main(){
	int n, m;
	cin >> n >> m;
	int* weight = new int[n];
	int* value = new int[n];
	unordered_map<double, int> quality;
	for (int i = 0; i < n; i++){
		cin >> weight[i] >> value[i];
		quality[double(value[i]) / weight[i]] = i;
	}
	double total_value = 0;
	auto cmp = [](const pair<double, int> a, const pair<double, int> b){return a.first<b.first; };
	while (m && !quality.empty())
	{
		auto it = max_element(quality.begin(), quality.end(), cmp);
		int idx = it->second;
		total_value += it->first * min(m, weight[idx]);
		m -= min(m, weight[idx]);
		quality.erase(it);
	}
	printf("%.2lf", total_value);
}
2022/8/16 15:25
加载中...