求助!关注为回报
查看原帖
求助!关注为回报
547602
天下为公楼主2021/10/7 22:47
#include<bits/stdc++.h>
using namespace std;
double e[1000000],x[1000000],s,ans=0,xj[1000000];
int main()
{
	int q,w;
	cin>>q>>w;
	for(int i=1;i<=q;i++){
		cin>>e[i]>>x[i];
		xj[i]=x[i]/e[i];
	}
	for(int j=1;j<=q;j++)
	for(int i=2;i<=q;i++){
		if(xj[i]>=xj[i-1]){
			swap(xj[i],xj[i-1]);
			swap(e[i],e[i-1]);
			swap(x[i],x[i-1]);
		}
	}
	for(int i=1;i<=q;i++){
		if(w-x[i]>0){
			ans+=e[i];
			w-x[i];
		}
		else{
			ans+=xj[i]*w;
			break;
		}
	}
	
	cout<<fixed<<setprecision(2)<<ans;
	return 0;
}	
2021/10/7 22:47
加载中...