#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
class Coin{
public:
double m;
double v;
double price;
};
Coin a[111];
bool cmp(Coin s1, Coin s2){
if(s1.price > s2.price) return true;
return false;
}
int main(){
int n,t;
cin >> n >> t;
double ans = 0;
for(int i = 1; i <= n; i++){
cin >> a[i].m >> a[i].v;
a[i].price = a[i].v/a[i].m;
}
sort(a+1, a+n+1, cmp);
int s = 0;
int k = 0;
while(s < t){
if(t-s >= a[k].m){
ans += a[k].v;
s += a[k].m;
}else{
ans += (t-s)*a[k].price;
s += (t-s);
}
k++;
}
printf("%.2lf", ans);
return 0;
}
第一个测试点RE了,我的数组应该够大,真的不明白为什么