c语言求助QAQ( #2WA )谢谢谢谢!
查看原帖
c语言求助QAQ( #2WA )谢谢谢谢!
1109809
Gezellig7楼主2023/12/16 20:59
#include <stdio.h>

struct gold{
	int m;
	int v;
	double mean;
};

void sort(struct gold a[],int n){
	struct gold temp;
	for(int i=0;i<n-1;i++){
		for(int j=0;j<n-i-2;j++){
			if(a[j].mean<a[j+1].mean){
				temp=a[j];a[j]=a[j+1];a[j+1]=temp;
			}
		}
	}
}

int main(){
	int n,max_gram;
	double max_value;
	scanf("%d %d",&n,&max_gram);
	struct gold a[n];
	for(int i=0;i<n;i++){
		scanf("%d %d",&a[i].m,&a[i].v);
		a[i].mean=(double)a[i].v/a[i].m;
	}
	sort(a,n);
	int i=0;
	while(max_gram>0&&i<n){
		if(a[i].m<=max_gram){
			max_value+=a[i].v;
			max_gram-=a[i].m;
		}else{
			max_value+=max_gram*(a[i].mean);
			max_gram=0;
		}
		i++;
	}
	printf("%.2f",max_value);
	return 0;
} 
2023/12/16 20:59
加载中...