如题,照着书1:1改了结果只会输出0.00,求助哪里写错了
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
struct coin{
int m,v;
}c[110];
bool cmp(coin a,coin b){
return b.m*a.v>a.m*b.v;
}
int main(){
int n,t,x,i;
int ans=0;
scanf("%d%d",&n,&t);
x=t;
for(i=0;i<n;i++)
scanf("%d%d",&c[i].m,&c[i].v);
sort(c,c+n,cmp);
for(i=0;i<n;i++){
if(c[i].m>x)break;
x-=c[i].m;
ans+=c[i].v;
}
if(i<n)
ans+=1.0*x/c[i].m*c[i].v;
printf("%.2lf",ans);
return 0;
}