样例多45但看不出问题,只过#1,求助
查看原帖
样例多45但看不出问题,只过#1,求助
750476
Hf_Poem楼主2022/7/22 18:13
#include <bits/stdc++.h>
using namespace std;
struct s
{
	double m,v;
};
s a[110];
int cmp(s a,s b)
{
	return a.v/a.m>b.v/b.m;
}
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	int n,t,summ=0,z;
	double sumv=0,x;
	cin>>n>>t;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].m;
		cin>>a[i].v;
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++)
	{
		if(summ+a[i].m>t)
		{
			z=t-summ;
			x=(1.0*z/a[i].m)*a[i].v;
			sumv+=x;
		}
		else
		{
			summ+=a[i].m;
			sumv+=a[i].v;
		}
	}
	printf("%.2lf",sumv);
	return 0;
}

大佬帮忙看看,谢谢了(;´д`)ゞ

2022/7/22 18:13
加载中...