题解
2024-12-28 21:33:05
发布于:上海
1阅读
0回复
0点赞
#include <iostream>
#include <algorithm>
using namespace std;
struct node{
int v,n;
double up;
};
bool cmp(node x,node y){
return x.up>y.up;
}
int main(){
int k;
cin>>k;
while (k--){
int w,s;
cin>>w>>s;
node a[105];
double va=0;
for(int i=1;i<=s;i++){
cin>>a[i].n>>a[i].v;
a[i].up = a[i].v1.0/a[i].n;
}
sort(a+1,a***,cmp);
for(int i=1;i<=s;i++){
if(w<a[i].n){
va+=a[i].up*w;
break;
}
va+=a[i].v;
w-=a[i].n;
}
printf("%.2f\n",va);
}
return 0;
}
这里空空如也
有帮助,赞一个