这是一道贪心题,洛谷的贪心题单里的题,题号为P2240
啥也别说,上题解
#include<bits/stdc++.h>
using namespace std;
int n;
double ans,t;
struct Baoshi{
double zl,jz,xjb;
}a[100];
bool cmp(Baoshi a,Baoshi b){
return a.xjb>b.xjb;
}
int main(){
cin>>n>>t;
for(int i=0;i<n;i++){
cin>>a[i].zl>>a[i].jz;
a[i].xjb=a[i].jz/a[i].zl;
}
sort(a,a+n,cmp);
for(int i=0;i<n;i++){
if(t>=a[i].zl){
ans+=a[i].jz;
t-=a[i].zl;
}
else{
ans+=a[i].xjb*t;
break;
}
}
printf("%.2lf",ans);
return 0;
}
看见这篇文章后请不要忘记点赞收藏加关注,因为作者很帅哦,嘿嘿嘿