20pts求助(悬关)
查看原帖
20pts求助(悬关)
797464
zfw100楼主2023/8/9 21:37

rt

#include<bits/stdc++.h>
using namespace std;

int main(){
	std::ios::sync_with_stdio(0);
	int n,t;
	cin>>n>>t;
	int m[1001],v[1001];
	double num[1001],ans=0.0;
	for(int i=1;i<=n;i++){
		cin>>m[i]>>v[i];
		num[i]=v[i]/m[i]/1.0; 
	}
	sort(num+1,num+n+1);
	for(int i=n;i>=1;i--){
		for(int ii=1;ii<=n;ii++){
			if(double(v[ii]/m[ii]/1.0)==num[i]){
				if(t==0) break;
				if(t>=m[ii]){
					t-=m[ii];
					ans+=v[ii];
				}else{
					ans+=num[i]*t;
					t=0;
				}
			}
		}
	}
	cout<<fixed<<setprecision(2)<<ans;
}


2023/8/9 21:37
加载中...