除一全WA,求佬调
查看原帖
除一全WA,求佬调
1115793
Simon3_14楼主2023/11/1 23:19
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
int main()
{
	double n, t;
	double get = 0;
	cin >> n >> t;
	vector<double>val(n);
	vector<double>m(n);
	vector<double>v(n);
	for (int i = 0; i < n; i++)
	{
		cin >> m[i]>>v[i] ;
		val[i] = v[i] / m[i];
	}
	for (int i = 0; i < n - 1; i++)
	{
		for (int j = 0; j < n - 1 - i;j++)
		{
			if (val[i] < val[i + 1])
			{
				int temp = val[j];
				val[j] = val[j + 1];
				val[j + 1] = temp;
				int tem = m[j];
				m[j] = m[j + 1];
				m[j + 1] = tem;
				int te = v[j];
				v[j] = v[j + 1];
				v[j + 1] = te;
			}
		}
	}
	for (int i = 0; i < n; i++)
	{
		if (m[i] <= t)
		{
			get += v[i];
			t -= m[i];
		}
		else
		{
			get += t * val[i];
			break;
		}
	}
	cout << setiosflags(ios::fixed)<< setprecision(2)<< get;
}

样例过了 试过在第17行val[i] = v[i] / m[i]的v[i]前后以及第46行乘上1.0, 但还是那样 求解答

2023/11/1 23:19
加载中...