求救!急,Compile Error
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<queue>
#include<vector>
#include<set>
using namespace std;
struct mon{
double num,all,xin;
}a[100];
double n,sum,z=0,q=0;
bool cmp(mon a,mon b){
return a.xin>b.xin;
}
int main(){
cin>>n>>sum;
for(int i=0;i<n;i++){
cin>>a[i].num>>a[i].all;
a[i].xin=a[i].all/a[i].num;
}
sort(a+0,a+n,cmp);
for(int i=0;i<n;i++){
if(sum-z>a[i].num){
q+=a[i].all;
z+=a[i].num;
}
else{
q+=a[i].xin*(a[i].num-sum+z);
z+=a[i].num-sum+z;
break;
}
}
printf("%.2lf",q);
return 0;
}