最后两个测试点RE,过不了,把数据下载下来对了一下,没有发现有什么不对的
#include<iostream>
#include<algorithm>
using namespace std;
struct pre{
int name;
int grade;
}a[3005];
bool cmp(pre a,pre b){
if(a.grade==b.grade)
return a.name<b.name;
return a.grade>b.grade;
}
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
cin>>a[i].name>>a[i].grade;
sort(a,a+n,cmp);
int b=int(1.5*m);
int flag=a[b-1].grade;
int i=0;
while(a[i].grade>=flag)
i++;
cout<<flag<<" "<<i<<"\n";
i=0;
while(a[i].grade>=flag){
cout<<a[i].name<<" "<<a[i].grade<<"\n";
i++;
}
return 0;
}
感激不尽