直接上代码:
#include<bits/stdc++.h>
using namespace std;
struct coin{
int m,v;
double x;
}str[1005];
bool cmp(coin a,coin b){
return a.x>b.x;
}
int main(){
int n,t;
double ans=0;
scanf("%d%d",&n,&t);
for(int i=1;i<=n;i++){
scanf("%d%d",&str[i].m,&str[i].v);
str[i].x=str[i].v*1.0/str[i].m;
}
sort(str+1,str+n+1,cmp);
int i=1;
while(t>0){
if(str[i].m>t){
ans=ans+t*str[i].x;
break;
}else{
ans+=str[i].v;
t-=str[i].m;
}
i++;
}
printf("%.2lf",ans);
return 0;
}
到底哪的问题啊!!!!人都麻了