题解(官方抢人头,咳嗽!)
2025-04-03 21:34:14
发布于:江苏
2阅读
0回复
0点赞
#include<iostream>
#include<algorithm>
using namespace std;
int t,m,c,w;
double num;
struct awa{
double c,w,p;
}p[1005];
bool cmp(awa a,awa b){
return a.p>b.p;
}
int main(){
cin>>t>>m;
for(int i=1;i<=t;i++){
cin>>p[i].c>>p[i].w;
p[i].p=p[i].w/p[i].c;
}
sort(p+1,p+1+t,cmp);
for(int i=1;i<=t;i++){
if(p[i].c>=m){
num+=m*p[i].p;
m-=p[i].c;
break;
}
else{
num+=p[i].c*p[i].p;
m-=p[i].c;
}
}
printf("%.2f\n",num);
}
这里空空如也
有帮助,赞一个