救命,样例过了但测试有四个RE
查看原帖
救命,样例过了但测试有四个RE
516060
amy498楼主2021/9/12 19:47
#include<bits/stdc++.h>
using namespace std;
int n;
double num=0,t;
struct stu
{
	int m;//总重量 
	int k;//总价值 
	double b;//单价值 
}A[110];
bool B(stu a,stu b)
{
	if(a.b>=b.b)return 1;
	else return 0;
}
int main()
{
	int i;
	cin>>n>>t;
	for(i=1;i<=n;i++)
	{
		cin>>A[i].m>>A[i].k;
		A[i].b=A[i].k/A[i].m;
	}
	sort(A+1,A+n+1,B);
	for(i=1;i<=n;i++)
	{
		if(t>=A[i].m)
		{
			t-=A[i].m;
			num+=A[i].k;
		}
		else
		{
			num+=t*A[i].b;
			break;
		}
	}
	printf("%.2f",num);
	return 0;
}
2021/9/12 19:47
加载中...