一直八十分,第二个wa
查看原帖
一直八十分,第二个wa
555585
deep_love_zhang楼主2023/5/27 02:00
#include <bits/stdc++.h>

using namespace std;
double o[109];
double p[109];
double mo[109];//记录性价比
int  mi[109];//记录性价比对应的那一堆金币
int main()
{
    int n;
    double t;

    scanf("%d %lf",&n,&t);
    for(int i=0;i<n;i++){
        scanf("%lf %lf",&o[i],&p[i]);
        mo[i]=p[i]/o[i];
    }
    sort(mo,mo+n, greater<double>());
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(mo[i]==p[j]/o[j]){
                mi[i]=j;
                break;
            }
        }
    }
    double sum=0;
    for(int i=0;i<n;i++){
        if(o[mi[i]]<=t){
            sum+=o[mi[i]]*mo[i];
            t-=o[mi[i]];
        }
        else{
            sum+=t*mo[i];
            break;
        }
    }
    printf("%.2lf\n",sum);


    return 0;
}

2023/5/27 02:00
加载中...