请各位大佬拿点奇怪的数据让这玩意出错误答案
#include <bits/stdc++.h>
using namespace std;
void swap(int &a, int &b) {
int t = a;
a = b;
b = t;
}
int main() {
int T, n;
double ans;
cin >> T >> n;
int a[T], b[T];
for (int i = 0; i < T; i++) {
cin >> a[i] >> b[i];
}
for (int i = 0; i < T - 1; i++) {
for (int j = 0; j < T - 1; j++) {
if (double(b[j] / a[j]) < double(b[j + 1] / a[j + 1])) {
swap(a[j], a[j + 1]);
swap(b[j], b[j + 1]);
}
}
}
// for (int i = 0; i < T; i++) {
// cout << a[i] << " " << b[i] << endl;
// }
for (int i = 0; i < T; i++) {
if (n >= a[i]) {
n -= a[i];
ans += b[i];
} else {
ans += double(b[i] / a[i]) * n;
break;
}
}
printf("%.2lf", ans);
return 0;
}