求调,20分
查看原帖
求调,20分
1386335
lanbing_e楼主2024/10/1 11:02
#include<bits/stdc++.h>
using namespace std;
struct node{
	int m,v;
	double w;
};
int n,t;
double sum;
node a[101];
bool cmp(node x,node y)
{
	return x.w>y.w;
}
int main()
{
	cin>>n>>t;
	for(int i=0;i<n;i++)
	{
		cin>>a[i].m>>a[i].v;
		a[i].w=a[i].v/a[i].m;
	}
	sort(a,a+n,cmp);
	for(int i=0;i<n;i++)
	{
		if(t>=a[i].m) 
		{
			sum+=a[i].v;
			t-=a[i].m;
		}
		else if(t<=a[i].m) 
		{
			sum+=a[i].w*t;
			break;
		}
		
	}
	cout<<setiosflags(ios::fixed)<<setprecision(2);
	cout<<sum;
	return 0;
}

2024/10/1 11:02
加载中...