20,help
查看原帖
20,help
1314528
Oscar111111楼主2024/7/11 15:56
#include<bits/stdc++.h>
using namespace std;
int n,t;
double sum;
struct node{
	int m,u;
	double s;
}a[100001];
bool cmp(node a,node b){
	return a.s>b.s;
}
int main()
{
	cin>>n>>t;
	for(int i=1;i<=n;i++){
		cin>>a[i].m>>a[i].u;
		a[i].s=a[i].m/(0.0+a[i].u);
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++){
		if(t<a[i].m){
			sum+=a[i].s*t;
			break;
		}
		if(t>=a[i].m){
			sum+=a[i].u;
			t-=a[i].m;
		}
	}
	printf("%.2lf",sum);
	return 0;
}
2024/7/11 15:56
加载中...