80分求助
查看原帖
80分求助
113021
月满西楼楼主2022/1/21 10:20
#include<bits/stdc++.h>
using namespace std;
int n,t;
struct bao
{
	double m;
	double v;
	double p;
}a[1008611];
int hahaha(bao aa,bao bb)
{
	return aa.p>bb.p;
}
int main()
{
	cin>>n>>t;
	for (int i=0;i<n;i++)
	{
		a[i].p=0;
	}
	for (int i=0;i<n;i++)
	{
		cin>>a[i].m>>a[i].v;
		a[i].p=a[i].v/a[i].m;
	}
	sort(a,a+n,hahaha);
	double ans=0;
	for (int i=0;i<n;i++)
	{
		
		if(t>=a[i].m)
		{
			ans+=a[i].v;
			t-=a[i].m;
			continue;
		}
		if(t<a[i].m)
		{
			ans=t*a[i].p+ans;
			cout<<fixed<<setprecision(2)<<ans;
			break;
		}	
//		cout<<t; 
	}
	return 0;
} 
2022/1/21 10:20
加载中...