求助 最后两个WA
查看原帖
求助 最后两个WA
393425
Inckie楼主2020/10/11 22:31
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
	int N,T;
	cin>>N>>T;
	double m[N],v[N];
	double q[N];
	for(int i=0;i<=N-1;i++)
	{
		cin>>m[i]>>v[i];
		q[i]=v[i]/m[i];
	}
	for(int i=0;i<=N-1;i++)
	{
		for(int j=0;j<=N-1;j++)
		{
			if(q[j]<q[j+1])
			{
				swap(q[j],q[j+1]);
				swap(m[j],m[j+1]);
				swap(v[j],v[j+1]);
			}
		}
	}
	double wt=0;
	double vl=0;
	int a;
	for(a=0;a<=N-1;a++)
	{
		if(wt+m[a]<=T)
		{
			wt+=m[a];
			vl+=v[a];
		}
		else
		{
			break;
		}
	}
	if(a<=N-1)
	{
		vl+=(T-wt)*q[a];
	}
	cout<<fixed<<setprecision(2)<<vl;
}
2020/10/11 22:31
加载中...