1 条题解

  • 1
    @ 2026-3-21 11:09:23
    #include<bits/stdc++.h>
    using namespace std;
    struct Volunteer{
        int id;
        int score;
    }a[5005];
    bool cmp(Volunteer x,Volunteer y){
        if(x.score!=y.score)return x.score>y.score;
        return x.id<y.id;
    }
    int main(){
        int n,m;
        cin>>n>>m;
        for(int i=1;i<=n;i++){
            cin>>a[i].id>>a[i].score;
        }
        sort(a+1,a+n+1,cmp);
        int scoremin=a[int(floor(m*1.5))].score;
        int cmp=0;
        for(int i=1;i<=n;i++){
            if(a[i].score<scoremin){
                break;
            }
            cmp++;
        }
        cout<<scoremin<<' '<<cmp<<endl;
        for(int i=1;i<=cmp;i++){
            cout<<a[i].id<<' '<<a[i].score<<endl;
        }
    }

    信息

    ID
    373
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    递交数
    3
    已通过
    1
    上传者