#1 re 求调
查看原帖
#1 re 求调
1090042
lyx0813楼主2024/7/2 18:34
#include<bits/stdc++.h>
using namespace std;
int n,t,j;
double ans;
struct hh{
	double m,v;
	double pj;
}a[1100];
int cmp(hh x,hh y){
	return x.pj>y.pj;
}
int main(){
    cin>>n>>t;
    for(int i=0;i<n;i++){
    	cin>>a[i].m>>a[i].v;
    	if(a[i].m==0||a[i].m==0){
    		a[i].pj=0;
		}
    	else a[i].pj=a[i].v/a[i].m;
    }
    sort(a,a+n,cmp);
    for(int j=0;j<n;j++){
    	if(t-a[j].m>-0.000001){
    		t-=a[j].m;
    		ans+=a[j].v;
		}
		else{
			ans+=t*a[j].pj;
			break;
		}
		++j;
	}
	printf("%.2lf",ans);
	return 0;
}


2024/7/2 18:34
加载中...