求助,为什么测试点1不管怎么改都是RE
查看原帖
求助,为什么测试点1不管怎么改都是RE
239823
真_小强楼主2021/9/18 16:54

``cpp #include<bits/stdc++.h>

using namespace std;

struct s {

double m;//质量
double v;//价格
double w;//单价

}b[105];

double n,t;

double ans;

bool cmp(s x,s y) {

return x.w>y.w;//从大到小排单价

}

int main() {

cin>>n>>t;
for(int i=1;i<=n;i++)
{
	cin>>b[i].m;
	cin>>b[i].v;
	b[i].w=b[i].v/b[i].m;//算单价
}
sort(b+1,b+100,cmp);
int a=1;
while(1)
{
    if(t>=b[a].m)
	{
		ans+=b[a].v;
		t-=b[a].m;
		a++;
	}
	else
	{
		ans=ans+t*b[a].w;
		break;
	}
}
cout<<fixed<<setprecision(2)<<ans;
return 0;

}

2021/9/18 16:54
加载中...