60分求解
查看原帖
60分求解
971507
devas__ljs楼主2024/3/9 17:57
#include<bits/stdc++.h>
using namespace std;
struct info{
	double zl,jz,jzb;
}a[105];
bool cmp(info x,info y){
	return x.jzb>y.jzb;
}
int main(){
	int n,t;
	double zh;
	cin >> n >> t;
	for(int i=0;i<n;i++){
		cin >> a[i].zl >> a[i].jz;
		a[i].jzb=a[i].jz*1.0/a[i].zl;
	}
	sort(a,a+n,cmp);
	for(int i=0;i<n;i++){
		if(t>=a[i].jz){
			zh+=a[i].jz;
			t-=a[i].zl;		
		}else{
			zh+=a[i].jzb*t;
			break;
		}
	}
	printf("%.2f",zh);
	
	return 0;
}
2024/3/9 17:57
加载中...