注意项
1.变量类型的注意
2.题目所给变量类型的注意
C++ 代码
#include<bits/stdc++.h>
#define pb push_back
#define pp poop_back
#define se second
#define fi first
using namespace std;
typedef long long ll;
typedef pair<double,int> PII;
const int N=100010,mod=1e9+7;
double a[N];
double b[N];
PII c[N];
int main()
{
int n;
double m;
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
cin>>b[i];
for(int i=1;i<=n;i++)
{
c[i]={b[i]/a[i],i};
}
sort(c+1,c+1+n);
double ans=0;
for(int i=n;i>=1;i--)
{
int j=c[i].se;
double x=a[j];
if(x<=m)
{
ans=ans+b[j];
m-=x;
}
else
{
ans=ans+b[j]/a[j]*m;
m=0;
}
if((double)m<=0.00000001) break;
}
printf("%.2lf",ans);
return 0;
}