建单体却鼠了
查看原帖
建单体却鼠了
1068809
SpringNeverDie楼主2025/6/19 20:42
#include<bits/stdc++.h>
using namespace std;

//typedef long long ll;
int n,m;
double ans;

struct nm{
	int cc,p;
	double a;
}k[2000010];

bool cmp(nm x,nm y){
	return x.a-y.a > 0.00000000001;
}

int main(){
	cin >> n >> m;
	for(int i=1;i<=n;i++){
		cin >> k[i].p >> k[i].cc;
		k[i].a=k[i].cc*1.0/(k[i].p*1.0);
	}
	
	sort(k+1,k+m+1,cmp);
	
	for(int i=1;i<=m;i++){
		if(m-k[i].p>0){
			ans+=k[i].cc;
			m-=k[i].p;
		}else{
			ans+=1.0*m*k[i].a;
			break;
		}
	}
	
	printf("%.2lf",ans);
	
}
2025/6/19 20:42
加载中...