稍稍改了一下
```
#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)//这里cmp改了一下
{
if(a.s<b.s) return 0;
else if(a.s==b.s)
{
return a.k<b.k;
}
else return 1;
}
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=m*3/2;
sort(s+1,s+n+1,cmp);
while(s[sp+1].s==s[sp].s&&sp+1<=n)sp++;//判断重分并增加录取人数
cout<<s[sp].s<<' '<<sp<<endl;
for(z i=1;i<=sp;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;
//}
```
by Wilderness_114514 @ 2023-12-28 08:32:28
此帖结
by kailangdewangyo @ 2023-12-28 12:47:37
已关
by kailangdewangyo @ 2023-12-28 14:04:44