ins版
2025-05-31 21:22:06
发布于:新疆
9阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
struct h {int n,v; double u;};
bool cmp(h x, h y) {return x.u > y.u;}
int main() {int k; cin >> k; while (k--) { int w,s;double vi = 0;h a[101];
cin >> w >> s;
for (int i = 1; i <= s; i++) {cin >> a[i].n >> a[i].v; a[i].u = a[i].v * 1.0 / a[i].n;}
sort(a + 1, a + s + 1, cmp);
for (int i = 1; i <= s; i++) {
if (w - a[i].n < 0) {vi += a[i].u * w; break;}
w -= a[i].n,vi += a[i].v;
}
printf("%.2f\n", vi);
}
return 0;
}
这里空空如也
有帮助,赞一个