AC代码
查看原帖
AC代码
959656
Andyaoshu666楼主2023/11/5 20:28
#include<bits/stdc++.h>
using namespace std;
struct node{
    int n;
    int v; 
    double q;
};
node a[105];
bool cmp(node x,node y){
	return x.q>y.q; 
}
int  main(){
	int w,s;
	double ans=0;
	cin>>s;
    for(int i=1;i<=s;i++){
    	double ans=0;
    	cin>>w;
    	for(int i=1;i<=s;i++){
    		cin>>a[i].n>>a[i].v;
    		a[i].q=a[i].v*1.0/a[i].n;
		}
		sort(a+1,a+1+s,cmp);
		for(int i=1;i<=s;i++){
			if(a[i].n<=w){
				ans+=a[i].v;
				w-=a[i].n;
			}else{
				ans+=w*1.0/a[i].n*a[i].v;
				break;
			}
		}
		printf("%.2lf\n",ans);
		return 0;
	}
    return 0;
}
2023/11/5 20:28
加载中...