20求助
查看原帖
20求助
565378
Orange1015楼主2022/5/13 23:50
#include<bits/stdc++.h>
using namespace std;
struct coin{
	int m,v;
	double x;
}a[105];
bool cmp(coin a,coin b){
	return a.x>b.x;
}
int main(){
	int n,t;
	cin >> n >> t;
	for(int i=1;i<=n;i++){
		cin >> a[i].m >> a[i].v;
		a[i].x=a[i].v/a[i].m;
	}
	sort(a+1,a+n+1,cmp);
	double ans=0;
	for(int i=1;i<=n;i++){
		if(t==0) break;
		if(t>a[i].m){
			ans+=a[i].v;
			t-=a[i].m;
		}
		else{
			ans+=a[i].x*t;
			break;
		}
	}
	cout << fixed << setprecision(2) << ans;
	return 0;
}
2022/5/13 23:50
加载中...