哪里错了?20分,求教
查看原帖
哪里错了?20分,求教
187053
1z0m6tyghvbwyx楼主2020/8/26 23:15
#include<bits/stdc++.h>
using namespace std;
struct type
{
	int x;
	int y;
	double step;
}a[1001];
int cmp(const type &giao1,const type &giao2)
{
	return giao1.step>giao2.step;
}
int main()
{
	int n,m,num=0;
	double sum=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].x>>a[i].y;
		a[i].step=a[i].y/a[i].x;
	}
	sort(a+1,a+1+n,cmp);
	for(int i=1;i<=n;i++)
	{
		if(num<m)
		{
			if(num+a[i].x>m)
			{
				sum+=(m-num)*a[i].step;
				num=m;
			}
			else
			{
				num+=a[i].x;
				sum+=a[i].y;
			}
		}
	}
	printf("%.2f",sum);
	return 0;
}
2020/8/26 23:15
加载中...