跟圣诞老人完全一样
#include <iostream>
#include <stdio.h>
#include <memory.h>
#include <memory>
#include <math.h>
#include <algorithm>
#include <stdlib.h>
#include <queue>
using namespace std;
struct node
{
int Weight,Value;
double dValue;
};
bool cmp(const node &a,const node &b)
{
return a.dValue>b.dValue;
}
node kid[105];
int K;
int main()
{
cin >> K;
while(K--)
{
int w,s;
cin >> w >> s;
for(int i=0; i<s; i++)
{
cin >> kid[i].Weight >> kid[i].Value;
kid[i].dValue = (1.0*kid[i].Value)/(1.0*kid[i].Weight);
}
sort(kid,kid+s,cmp);
double SV=0.0;
for(int i=0; i<s; i++)
{
if(w>=0)
{
int now = min(w,kid[i].Weight);
SV+=now*kid[i].dValue;
w-=now;
}
else
break;
}
printf("%.2lf\n",SV);
}
return 0;
}