样例测试过了,看着也没什么问题啊
把金币单价算了存在c数组,然后累加能装的总价值。
#include<bits/stdc++.h>
using namespace std;
bool cmp(double a,double b)
{
return a>b;
}
int main()
{
int n,t;
cin>>n>>t;
int a[n],b[n];
double c[100086]={0};
double sum=0;
int w=0;
for(int i=0;i<n;i++)
{
cin>>a[i]>>b[i];
double ave=b[i]/a[i];
fill(c+w,c+w+a[i],ave);
w+=a[i];
}
sort(c,c+w,cmp);
for(int i=0;i<t;i++)
{
sum+=c[i];
}
cout<<fixed<<setprecision(2)<<sum;
return 0;
}