代码:
#include<iostream>
using namespace std;
struct{
double m,v;
}a[150];
int main(){
long long n;
double t,c[200],ans=0;
cin>>n>>t;
for(int i=1;i<=n;i++){
cin>>a[i].m>>a[i].v;
c[i]=a[i].v/a[i].m;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n-1;j++){
if(c[j]<c[j+1]){
swap(c[j],c[j+1]);
swap(a[j].m,a[j+1].m);
swap(a[j].v,a[j+1].v);
}
}
}
for(int i=1;i<=n;i++){
if(t-a[i].m>=0){
t=t-a[i].m;
ans+=a[i].v;
}
else{
break;
}
}
printf("%.2lf",ans);
return 0;
}
本蒟蒻是真的没看明白分割金币是什么意思
大佬们帮忙看看求求了awa