求助!!!2、4点wa了
查看原帖
求助!!!2、4点wa了
450881
JP_ZYX2305楼主2022/8/24 08:29
#include<bits/stdc++.h>
using namespace std;

struct info
{
	int m, n;
	double per;
}g[128];
bool cmp(info a,info b)
{
	return a.per > b.per;
}

int main()
{
	int k, d;
	double ans=0;
	cin >> k >> d;
	for (int i = 1; i <= k; i++)
	{
		cin >> g[i].m >> g[i].n;
		g[i].per = (double) g[i].n / g[i].m;
	}
	int l = 0;
	sort(g + 1, g + k + 1, cmp);
	for (int i = 1; i <= k; i++)
	{
		if (d >= g[i].m)
			ans += g[i].n, d -= g[i].m;
		if (d < g[i].m and d > 0)
		{
			ans += g[i].per * d, d = 0;
			break;
		}
	}
	printf("%.2f", ans);
	return 0;
}

不知道哪里出问题了555

2022/8/24 08:29
加载中...