80分求调 感谢感谢
查看原帖
80分求调 感谢感谢
1131905
yoyoSGH楼主2024/10/16 18:01
#include<bits/stdc++.h>
using namespace std;
#define ll long long
struct bager{
	ll m,v,how=0;
	double value;
};
int main() {
	bager bag[100];
	ll n,t,ba=0;
	double ans=0;
	cin>>n>>t;
	for(ll i=0;i<n;i++)
	{
		cin>>bag[i].m>>bag[i].v;
		bag[i].value=bag[i].v*1.0/bag[i].m;
	}
	while(ba!=t)
	{
		ll you;
		double maxn=-1;
		for(ll i=0;i<n;i++)
		{
			if(bag[i].how==0&&maxn<=bag[i].value)
			{
				you=i;
				maxn=bag[i].value;
			}
		}
		bag[you].how=1;
		ans+=min(t-ba,bag[you].m)*bag[you].value;
		ba+=min(t-ba,bag[you].m); 
	}
	printf("%.2lf",ans);
	return 0;
}

样例过了,不知道问题出在哪

2024/10/16 18:01
加载中...