20分求助,只过了第一个点
查看原帖
20分求助,只过了第一个点
613172
mianm楼主2022/4/9 18:07
#include<iostream>

using namespace std;

struct Goldcoin
{
	float m;
	float value;
}a[100];
int main()
{
	int n, t;
	cin >> n >> t;
	float tv[100];
	float ans = 0;
	for (int i = 0;i < n;i++)
	{
		cin >> a[i].m >> a[i].value;
		tv[i] = a[i].value / a[i].m;
	}
	for (int i = 0;i < n;i++)
		for (int j = i + 1;j < n;j++)
		if (tv[i] < tv[j])
		{
			Goldcoin temp;
			temp = a[i];
			a[i] = a[j];
			a[j] = temp;
		}
	int i = 0;
	while (t >= a[i].m)
	{	
		if (i < n)
		{
			ans += a[i].value;
			t -= a[i].m;
			i++;
		}
		else break;
	}
	if (t > 0&&i<n)
		ans += (a[i].value/a[i].m) * t;
	printf("%.2f",ans);
	return 0;
}
2022/4/9 18:07
加载中...