某人想看
查看原帖
某人想看
939292
chenshixue楼主2023/12/16 12:54
#include<bits/stdc++.h>
using namespace std;
struct node{
	int m,v;
}a[105];
bool cmp(node x,node y){
	return x.v*y.m>y.v*x.m;
}
int N,T;
int main(){
	cin>>N>>T;
	for(int i=1;i<=N;i++){
		cin>>a[i].m>>a[i].v;
	}
	sort(a+1,a+N+1,cmp);
	double sM=0,sV=0;
	for(int i=1;i<=N;i++){
		if(sM+a[i].m<=T){
			sM+=a[i].m;
			sV+=a[i].v;
		}
		else{
			sV+=1.0*(T-sM)/a[i].m*a[i].v;
			break;
		}
	}
	printf("%.2lf",sV);
	return 0;
}
2023/12/16 12:54
加载中...