#1 RE need help
查看原帖
#1 RE need help
1228886
skyx楼主2024/7/9 16:51
#include<bits/stdc++.h>
using namespace std;

struct g
{
	double m;
	double v;
	
}a[110];
bool cmp(g b,g c)
{
	return b.v/b.m>c.v/c.m;
}

int main(){
     
     int n,t;
	double ans=0;
	cin>>n>>t;
  
	int j=1;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].m>>a[i].v;
	}
	sort(a+1,a+n+1,cmp);
	while(t>0)
	{
		if(t-a[j].m>=0)
		{
			ans+=a[j].v;
			t-=a[j].m;
		}
		else{
		double per=t/a[j].m;
		ans+=per*a[j].v;
		t=t-per*a[j].m;
		}
		j++;
	}
	cout<<fixed<<setprecision(2)<<ans;
	return 0;
}

2024/7/9 16:51
加载中...