80分
查看原帖
80分
1014410
Ac_Code_cn_com楼主2023/8/21 18:21
#include<bits/stdc++.h>
using namespace std;
struct jb{
	int m,u;
	double dj;
};
bool bdx(jb x,jb y){
	return x.dj>y.dj;
}
int main(){
	int n,t,k=0;
	double zj=0;
	cin>>n>>t;
	jb c[n];
	for(int i=0;i<n;i++){
		cin>>c[i].m>>c[i].u;
		c[i].dj=c[i].u*1.00/c[i].m;
	}	
	sort(c,c+n,bdx);
	for(int i=0;i<n;i++){
		if(t-k<c[i].m){
			zj+=(t-k)*1.00*c[i].dj;
			printf("%.2lf",zj);
			break;	
		}else if(t-k==0){
			printf("%.2lf",zj);
			break;
		}else{
			zj+=c[i].u;
			k+=c[i].m;
		}
	}
    return 0;
}
2023/8/21 18:21
加载中...