#2#4 WA求调
查看原帖
#2#4 WA求调
739320
fly_code楼主2024/12/3 17:47
#include<bits/stdc++.h>
using namespace std;
struct coin{
	double m;
	double v;
	double d;
	
}coins[110]={0};
bool cmp(coin x,coin y)
{
	return (x.v*y.m)>(y.v*x.m);
	
}

int main()
{
	double N,T,weight=0.0;
	int leng=0;
	double ans=0.0;
	cin>>N>>T;
	for(int i=1;i<=N;i++)
	{
		cin>>coins[i].m>>coins[i].v;
		//coins[i].d=1.0*coins[i].v/coins[i].m*1.0;
		leng++;
	}
	
	
	sort(coins+1,coins+leng+1,cmp);
	
	for(int i=1;i<=leng;i++)
	{
		if(T<=weight)
		{
			
			break;
			
		}
		if(coins[i].m+weight<=T)
		{
			ans+=coins[i].v;
			weight+=coins[i].m;
			
		}
		if(coins[i].m+weight>T)
		{
			ans+=1.0*(T-weight)*coins[i].v*1.0/(coins[i].m*1.0);
			
			break;
			
		}
			
	}
	printf("%.2lf",ans);
	return 0;
}

求调,解决必关,谢谢大佬们

2024/12/3 17:47
加载中...