样例过,20分求助
查看原帖
样例过,20分求助
1284346
xd2304楼主2024/5/4 15:13
#include<bits/stdc++.h>
using namespace std;
struct coin{
	int m,v;
}a[110];
bool cmp(coin x,coin y){
	return x.v*y.m>y.v*x.m;
}
int main(){
	int n,t,c,i;
	float ans=0;
	cin>>n>>t;
	c=t;
	for(i=1;i<=n;i++){
		cin>>a[i].m>>a[i].v;
	}
	sort(a,a+n,cmp);
	for(i=1;i<=n;i++){
		if(a[i].m>c)break;
		c-=a[i].m;
		ans+=a[i].v;
	}
	if(i<n){
		ans+=1.0*c/a[i].m*a[i].v;
	}
	printf("%.2lf",ans);
	return 0;
}
2024/5/4 15:13
加载中...