上代码
#include<iostream>
using namespace std;
struct item{
double m;
double v;
double p;
};
int main(){
item it[1001];
double n,v1;
cin>>n>>v1;
for(int i=1;i<=n;i++){
cin>>it[i].m>>it[i].v;
it[i].p=it[i].v/it[i].m;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n-1;j++){
if(it[j].p<it[j+1].p){
swap(it[i],it[j+1]);
}
}
}int k=1;
double sum=0;
while(v1-it[k].m>=0&&k<=n){
sum+=it[k].v;
v1-=it[k].m;
k++;
}
if(k<=n)
{
sum+=it[k].p*v1;
}
printf("%.2lf",sum);
}
本蒟蒻看不出问题,请大佬们帮忙看看。