20分求助
查看原帖
20分求助
1121696
laoragou楼主2024/4/6 15:03

请教各位大佬为什么只有20分

#include<iostream>
using namespace std;
int bag,n;
int v[105],w[105];
double aver[105],t,tr,wei;
int main()
{
	cin>>n>>bag;
	for(int i=1;i<=n;i++)
	{
		cin>>w[i]>>v[i];
		aver[i]=v[i]/w[i];
	}
	for(int i=1;i<n;i++)
	{
		for(int j=i+1;j<=n;j++)
		{
			if(aver[i]<aver[j])
			{
				t=aver[i];
				aver[i]=aver[j];
				aver[j]=t;
				t=v[i];
				v[i]=v[j];
				v[j]=t;
				t=w[i];
				w[i]=w[j];
				w[j]=t;
			}
		}
	}
	int i=1;
	while(bag>=w[i]&&i<=n)
	{
		bag-=w[i];
		tr+=v[i];
		i++;
	}
	tr+=bag*aver[i];
	printf("%.2lf",tr);
	return 0;
 } 
2024/4/6 15:03
加载中...