蒟蒻求调10pts
查看原帖
蒟蒻求调10pts
1056514
zky2023楼主2024/10/3 10:07
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const int N=1e6+100;
int n,m;
struct Information
{
    int num,grade;
    friend bool operator < (const Information &a,const Information &b)
    {
        if(a.grade==b.grade)
        {
            return a.num<b.num;
        }
        return a.grade>b.grade;
    }
}player[N];
signed main(void)
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&player[i].num,&player[i].grade);
    }
    sort(player+1,player+n+1);
    int point=floor(m*1.5),temp=1;
    for(int i=1;i<=n;i++)
    {
        if(player[i].grade!=player[i+1].grade)
        {
            temp++;
            if(temp==point)
            {
                temp=i;
                break;
            }
        }
    }
    printf("%d %d\n",player[temp].grade,temp);
    // for(int i=1;i<=n;i++)
    // {
    //     cout<<player[i].num<<" "<<player[i].grade<<endl;
    // }
    // cout<<player[temp].grade<<" "<<player[temp].num<<endl;
    for(int i=1;i<=temp;i++)
    {
        printf("%d %d\n",player[i].num,player[i].grade);
    }
    return 0;
}
2024/10/3 10:07
加载中...