求助,第1 4 5个点WA,找不到问题所在,求帮助
查看原帖
求助,第1 4 5个点WA,找不到问题所在,求帮助
287266
Viottery楼主2020/7/20 15:36
#include<bits/stdc++.h>
using namespace std;

struct coins{
    double w,v;
    double good;
}a[105];

inline bool compare(coins a,coins b){
    return a.good > b.good;
}

int main(){
    int n,t;
    cin >> n >> t;
    for(int i=1;i<=n;i++){
        cin >> a[i].w >> a[i].v;
        a[i].good = a[i].v / a[i].w;
    }
    sort(a+1,a+n+1,compare);
    float ans,wei;
    int r=1;
    while(wei<t && r<=n){
        if(a[r].w<=(t-wei)){
            ans += a[r].v;
            wei += a[r].w;
            r++;
        }
        else{
            ans += a[r].v * ((t-wei) / a[r].w);
            wei = t;
        }
    }
    cout << ans << endl;
    return 0;
}
2020/7/20 15:36
加载中...