求助大佬,为什么这个代码只有二十分
查看原帖
求助大佬,为什么这个代码只有二十分
113001
xuhrrr楼主2023/10/15 15:23
#include <iostream>
#include <algorithm>
using namespace std;
int n , t;
struct coin{
    int m,v;
}a[105];
bool cmp(coin x,coin y){
    return x.v * y.m > y.v * x.m;
}
int main()
{
    cin >> n >> t;
    for(int i = 0 ; i < n ; ++i){
        cin >> a[i].m >> a[i].v;
    }
    sort(a,a + n, cmp);
    int i;
    int now = 0;
    float value = 0;
    for(i = 0 ; i < n ; ++i){
        if(now + a[i].m > t){
            value += float((t - now) / a[i].m * a[i].v);
            break;
        }
        now += a[i].m;
        value += a[i].v;
    }
    printf("%.2lf",value);
    return 0;
}
2023/10/15 15:23
加载中...