啊啊啊
查看原帖
啊啊啊
986836
Jeeff楼主2024/7/31 17:26
#include<bits/stdc++.h>
using namespace std;
struct f
{
	int v;
	int w;
}b[110];
int n,m;
bool hh(f x,f y)
{
	return x.v*y.w>x.w*y.v;
}
int main()
{	

	cin>>n>>m;
	for(int i=0;i<n;i++)
	{
		cin>>b[i].v>>b[i].w;
	}
	sort(b,b+n,hh);
	double qian=0;
	for(int i=0;i<n;i++)
	{
		if(m>b[i].v)
		{
			m-=b[i].v;
			qian+=b[i].w;
		}
		else
		{
			qian+=double(b[i].w)/double(b[i].v)*(m-b[i].v);
			break;
		}
	}
	cout<<fixed<<setprecision(2)<<qian<<endl;
	
} 

有点问题

2024/7/31 17:26
加载中...