20分求调
查看原帖
20分求调
1368726
封禁用户楼主2025/6/16 19:53

只有20分 (第一个测试点)

code(C++):

#include<bits/stdc++.h>
using namespace std;
const int N=101;
struct gold
{
	double m,k,v;
};
int t,n;
gold g[N];
double sum;
bool cmp(gold,gold);
int main()
{
	cin>>n>>t;
	for(int i=1;i<=n;i++)
	{
		cin>>g[i].m>>g[i].v;
		g[i].k=(double)(g[i].v/g[i].m);
	}
	sort(g+1,g+n+1,cmp);
	for(int i=1;i<=n;i++)
	{
		if(t==0)
			break;
		if(t>=g[i].m)
		{
			t-=g[i].m;
			sum+=g[i].v;
		}
		else
		{
			t=0;
			sum+=(double)(g[i].k*t);
		}
	}
	printf("%.2lf",sum);
	return 0;
}
bool cmp(gold g1,gold g2)
{
	return g1.v*g2.m>g2.v*g1.m;
}

(样例没过) (-_-||)

2025/6/16 19:53
加载中...