文章
10
粉丝
102
获赞
0
访问
4.7k
#include<bits/stdc++.h>
using namespace std;
struct bankuai{
double a;
double b;
double c=b/a;
}aa[1005];
bool cmp(bankuai a1,bankuai a2){
return a1.c<a2.c;
}
int main(){
int m,n;
while(cin>>m>>n){
if(n==-1&&m==-1) break;
for(int i=0;i<n;i++){
cin>>aa[i].a>>aa[i].b;
}
sort(aa,aa+n,cmp);
double sum=0;
for(int i=0;i<n;i++){
if(m>=aa[i].b){
sum+=aa[i].a;
m-=aa[i].b;
}
else{
sum+=(m/aa[i].c);
break;
}
}
cout<<fixed<<setprecision(3)<<sum<<endl;
}
}
登录后发布评论
可以在输入之后把c的值打印出来看一下,应该是不支持这种写法的
解决了吗