满江红
查看原帖
满江红
923445
amcplayer楼主2023/12/27 23:37

代码

#include<bits/stdc++.h>
#define z int
#define ll long long
#define maxn 5050
using namespace std;
struct str
{
    int k,s;
}s[maxn];
bool cmp(str a,str b)
{
    if(a.s<b.s)
        return a.s>b.s;
    else if(a.s>b.s)
        return a.s>b.s;
    else
        if(a.k>b.k)
            return a.k<b.k;
        else if(a.k<b.k)
            return a.k<b.k;
}
int main()
{
    ll n,m,sp,num;
    cin>>n>>m;
    for(z i=1;i<=n;i++)
    {
        cin>>s[i].k>>s[i].s;
    }
    sp=floor(m*1.5);
    sort(s+1,s+n+1,cmp);
    for(z i=1;i<=sp;i++)
    {
        num++;
    }
    cout<<sp<<' '<<num<<endl;
    for(z i=1;i<=num;i++)
    {
        cout<<s[i].k<<' '<<s[i].s<<endl;
    }
    return 0;
}
//int dimier(int x)
//{
//    double l=1,r=n,m;
//    while(l<=r)
//    {
//        m=(l+r)/2;
//        if(x<a[m])
//            r=m-1;
//        else if(x>a[m])
//            l=m+1;
//        else if(x==a[m])
//            l=m+1;
//    }
//    if(a[m]==x)
//        return l-1;
//    else
//        return -1;
//}

2023/12/27 23:37
加载中...