求助
查看原帖
求助
799706
q_w_qnoi楼主2023/8/16 11:22
#include<bits/stdc++.h>
using namespace std;
	struct coin{
	int m,v;	//重量与价值 
	} a[110];
	bool cam(coin x,coin y){
		return x.v*y.m>y.v*x.m;//判断单价 
	}

int main(){
	int n,t,c,i;float ans = 0;
	scanf("%d%d",&n,&t);
	printf("%.2lf",ans);
	return 0;

    c=t;
for(i=0;i<n;i++)
scanf("%d%d",&a[i].m,&a[i].v);
sort(a,a+n,cam);//对单价排序
for(i=0;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;
}
2023/8/16 11:22
加载中...