80分求助
查看原帖
80分求助
290442
flying_man楼主2021/10/10 21:15

我是死也改不出来

#include<bits/stdc++.h>
using namespace std;
struct stu{
	double m,v;
}a[105];
int cnt,n,t;
double ans;
bool cmp(stu a,stu b){
	return a.v * b.m > b.v * a.m;
}
int main(){
	cin >> n >> t;
	for(int i = 1;i <= n;i++)
	    cin >> a[i].m >> a[i].v;
	sort(a+1,a+n+1,cmp);
	if(n == 0){cout << "0.00";return 0;}
	else for(int i = 1;i <= n;i++){
		if(t < a[i].m){
			cnt = i;
			break;
		}
		t -= a[i].m;
		ans += a[i].v;
	}
	ans += min((double)t,a[cnt].m) * a[cnt].v / a[cnt].m;
	printf("%.2f",ans);
	return 0;
}
2021/10/10 21:15
加载中...