lc2548
注意浮点数精度
class Solution {
/*
输入:items = [[50,1],[10,8]], capacity = 5
输出:55.00000
pice w
*/
public:
double maxPrice(vector<vector<int>>& items, int capacity)
{
sort(items.begin(),items.end(),[&](auto& a,auto& b)
{
return a[0]*b[1]>b[0]*a[1];
//avoid /
});
double ret=0.00;
for(auto& a:items)
{
if(capacity>=a[1])
{
capacity-=a[1];
ret+=a[0];
}
else
{
double k=capacity*1.0/a[1];
capacity=0;
ret+=a[0]*k;
break;
}
}
return capacity==0?ret:-1;
}
};