第二个点WA了,求助
查看原帖
第二个点WA了,求助
615029
QWlanren楼主2023/2/11 13:47
#include<iostream>
using namespace std;
double T,xx,ans,m[101],v[101],a[101];
int N;
int main(){
//	freopen("1.in","r",stdin);
//	freopen("1.out","w",stdout);
	cin>>N>>T;
	for(int i=1;i<=N;i++)
	{
		cin>>m[i]>>v[i];
		a[i]=v[i]/m[i];
	}
	for(int i=1;i<=N-1;i++)
	{
		for(int j=i;j<=N-1;j++)
		{
			if(a[i]<a[j])
			{
				xx=a[i];a[i]=a[j];a[j]=xx;
				xx=m[i];m[i]=m[j];m[j]=xx;
                xx=v[i];v[i]=v[j];v[j]=xx;
			}
		}
	}
	for(int i=1;i<=N;i++)
	{
		if(T>=m[i])
		{
			ans+=v[i];
			T-=m[i];
		}
		else
		{
			ans+=a[i]*T;
            break;
		}
	}
//	cout<<ans<<endl;
	printf("%.2lf",ans);
	return 0;
}
2023/2/11 13:47
加载中...