RE,请求大佬指点
查看原帖
RE,请求大佬指点
1407837
zhouyunxiang0807楼主2024/8/19 23:02
#include<bits/stdc++.h>
using namespace std;

struct goldcoins{
	double m,v,mv;
}g[10000000];
bool cmp(goldcoins a,goldcoins b){
	return a.mv*1.0>b.mv*1.0;
}
double bag=0,vsum=0;
int main() {
	int n,t;
	cin>>n>>t;
	for(int i=1;i<=n;i++){
		cin>>g[i].m>>g[i].v;
		g[i].mv=g[i].v*1.0/g[i].m*1.0;
	}
	sort(g+1,g+n+1,cmp);
	int j=1;
	while(bag<t){
		bag+=g[j].m;
		vsum+=g[j].v;
		j++;	
	}
	if(bag>t){
		bag-=g[j-1].m;
		vsum-=g[j-1].v;
		double o=t-bag;
		double p=o*g[j-1].mv;
		vsum+=p;
	}
	printf("%.2lf",vsum);
	return 0;
}
2024/8/19 23:02
加载中...