蒟蒻求助,只过了一个点!!
查看原帖
蒟蒻求助,只过了一个点!!
406170
Jason_yinkai楼主2022/7/17 16:56
#include<bits/stdc++.h>
using namespace std;
struct str{
	int weight,money;
	double jz;
}coin[200];
int n,bag;
bool cmp(str x,str y){
	return x.jz > y.jz;
}
int main(){
	cin>>n>>bag;
	for(int i = 1;i <= n;i++){
		cin>>coin[i].weight>>coin[i].money;
		coin[i].jz = coin[i].money / coin[i].weight;
	}
	sort(coin + 1,coin + n + 1,cmp);
	double ans = 0.0;
	int k = 1;
	while(bag and k <= n){
		if(bag >= coin[k].weight and bag >= coin[k].weight){
			ans += coin[k].money;
			bag -= coin[k].weight;
		}
		else if(bag < coin[k].weight){
			ans += coin[k].money * bag / coin[k].weight;
			bag -= bag;
		}
		k++;
	}
	printf("%.2lf",ans);
}
                                      

测试点

2022/7/17 16:56
加载中...