2 条题解

  • 1
    @ 2025-1-20 9:54:31
    #include<iostream>
    #include<algorithm> 
    using namespace std;
    int n,s,a,b,x_,y_,can,rest,ans;
    struct apple{
        int xi,yi;
    }ap[50005];
    int cmp(apple x,apple y){
        return x.yi<y.yi;
    }
    int main(){
        cin>>n>>s>>a>>b;
        for(int i=1;i<=n;i++){
            cin>>x_>>y_;
            if(x_<=a+b){
                can++;
                ap[can].xi=x_;
                ap[can].yi=y_;
            }
        }
        sort(ap+1,ap+can+1,cmp);
        rest=s;
        ans=0;
        for(int i=1;rest>=ap[i].yi&&i<=can;i++){
            ans++;
            rest-=ap[i].yi;
        }
        cout<<ans;
        return 0;
    } 
    

    需要排序,利用结构体即可。

    信息

    ID
    5536
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    98
    已通过
    53
    上传者