60分求调C7PK\

P1478 陶陶摘苹果(升级版)

yyjw14 @ 2023-08-17 00:13:22

#include<bits/stdc++.h>
using namespace std;
#define ll long long
struct s
{
    double a;
    double b;
    double c; 
};
bool cmp(s m,s n)
{
    return m.c>n.c;
}
s x[5005];
int main()
{
    int i,j,k;
    double o,p;
    ll sum=0;
    cin>>i>>j;
    cin>>o>>p;
    for(k=1;k<=i;k++)
    {
        cin>>x[k].a>>x[k].b;
        x[k].c=x[k].a/x[k].b;
    }
    sort(x+1,x+i+1,cmp);     
    for(k=1;k<=i;k++)
    {
        if(o+p>=x[k].a)
        {
            j-=x[k].b;
            if(j<0)
            {
                break;
            }
            else
            {
                sum++;
            }
        }
    }
    cout<<sum;

    return 0;
}

by yyjw14 @ 2023-08-17 00:13:42

3,5WA了


by Zona @ 2023-08-17 01:51:53

@csp_sgxx 您的比较函数出错了,应该是按所花力气从小到大排序。也就是您代码中改成m.b<n.b,这样就可以过了。至于您定义的c,我不太明白作用是什么(:з」∠)


|