80pts求助
查看原帖
80pts求助
1126733
lxc129楼主2024/5/8 21:35
#include<bits/stdc++.h>
using namespace std;
double ans,g;
int n;
struct node{double a,b;}d[101];
bool cmp(node x,node y){
	return x.b/x.a>y.b/y.a;
}
int main(){
	freopen("test.in","r",stdin);
	freopen("test.out","w",stdout);
	cin>>n>>g;
	for (int i=1;i<=n;i++) cin>>d[i].a>>d[i].b;
	sort(d+1,d+n+1,cmp);
	for (int i=1;i<=n;i++){
		if (g<d[i].a){
			printf("%.2lf",ans+d[i].b/(d[i].a*1.0)*g);
			return 0;
		}
		if (g==d[i].a){
			printf("%.2lf",ans+d[i].b);
			return 0;
		}
		ans+=d[i].b;
		g-=d[i].a;
	}
}
2024/5/8 21:35
加载中...