为什么样例220!给关
查看原帖
为什么样例220!给关
1287887
_zhaosihan_qwq_楼主2024/8/28 09:20
#include <bits/stdc++.h>
using namespace std;
int n,t,x=1;
double sum=0;
struct mnb{
	int zhong;
	int jia;
	double xijibi;
}a[20000];
bool cmp(mnb x,mnb y){
	return x.xijibi>y.xijibi;
}
int main(){
	cin>>n>>t;
	for(int i=0;i<n;i++){
		cin>>a[i].zhong;
		cin>>a[i].jia;
		a[i].xijibi=a[i].jia*1.0/a[i].zhong*1.0;
	}
	sort(a,a+n,cmp);
	while(t>0){
		if(t>a[x].zhong){
			sum+=a[x].jia*1.0;
			t-=a[x].zhong*1.0;
		}
		else{
			sum+=a[x].xijibi*t*1.0;
			cout<<fixed<<setprecision(2)<<sum;
			return 0;
		}
		x++;
		
	}
	cout<<fixed<<setprecision(2)<<sum;
	return 0;
}

2024/8/28 09:20
加载中...