牛客补题Shopping

99 阅读1分钟

Shopping
贪心,最优策略就是最贵的物品搭配一个凳子

ll a[500010];
int main()
{
    ll t;
    cin>>t;
    while (t--)
    {
        ll n, m, s=0;
        cin>>n>>m;
        for (int i=1;i<=n;i++)
        {
            ll  temp;
            cin>>a[i]>>temp;
            if (temp)
                s++;
        }
        s=min(s, m);
        sort(a+1, a+1+n, greater<int>());
        double ans =0;
        for (int i=1;i<=n;i++)
        {
            if (i<=s)
                ans+=(double)a[i]/2;
            else
                ans+=a[i];
        }
        printf("%.1lf\n", ans);
    }
    return 0;
}