求助!到底哪错了啊?
查看原帖
求助!到底哪错了啊?
654763
smallpeople楼主2023/10/2 08:48
#include<bits/stdc++.h>
using namespace std;
struct coin
{
	float m,v;
}coi[110];
bool cmp(coin x,coin y)
{
	return x.v*y.m>y.v*x.m;
}
int main()
{
	int n,t;
	float ans=0;
	scanf("%d%d",&n,&t);
	for(int i=0;i<n;i++)
		cin>>coi[i].m>>coi[i].v;//这里用scanf导致无法进行下一步,why?
	sort(coi,coi+n,cmp);
	while(t>0)
	{
		int j=0;
		t-=coi[j].m;
		if(t<0)
		{
			t+=coi[j].m;
			float a=coi[j].v/coi[j].m;
			ans=ans+t*a;
			break;
		}
		ans+=coi[j].v;
		j++;
	}
	printf("%.2lf",ans);
	return 0;
}

自己输得简单样例能过但过不了题(全wa)

2023/10/2 08:48
加载中...