爱做生意的曾小浪

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<set>
#define ll long long
using namespace std;
const int maxn = 200010;
const int inf = 0x3f3f3f3f;
struct node
{
    double a, b, c;
}p[100];
int  cmp(node x, node y)
{
    return x.c < y.c;
}
int main()
{
    int t;
    cin >> t;

    while (t--)
    {
        int n, m;
        cin >> n >> m;
        for (int  i = 0; i < n; i++)
        {
            cin >> p[i].a;
        }
        for (int i = 0; i < n; i++)
        {
            cin >> p[i].b;
            p[i].c =p[i].b / p[i].a;
        }
        sort(p, p + n,cmp);
        double sum = 0;
        for (int  i = n-1; i >=0 ; i--)
        {
            if (m - p[i].a > 0)
            {
                sum += p[i].b;
                m = m - p[i].a;
            }
            else
            {
                sum += p[i].c * m;
                break;
            }
        }
        printf("%.2f\n", sum+1e-7);
    }
}

 

posted @ 2019-06-26 17:08  学习使我逍遥  阅读(212)  评论(0编辑  收藏  举报