using namespace std;
int main()
{
//k为号 s为成绩 n为人数 c为录取人数 flag为录取分数
int n,m,k[6000],s[6000],c,flag;
cin>>n>>m;for(int i=1;i<=n;i++)
cin>>k[i]>>s[i];
for(int i=2;i<=n;i++)
for(int j=2;j<=n;j++)
{
if(s[j]>s[j-1])
{
swap(s[j],s[j+1]);
swap(k[j],k[j+1]);
}
}
for(int i=2;i<=n;i++)
for(int j=2;j<=n;j++)
{
if(s[j]==s[j-1] && k[j]<k[j-1])
swap(k[j],k[j+1]);
}
m=floor(m*1.5);
flag=s[m];
c=0;
for(int i=1;i<=n;i++)
{
if(s[i]>=flag)
c++;
}
cout<<flag<<" "<<c<<endl;
for(int i=1;i<=c;i++)
{
cout<<k[i]<<" "<<s[i]<<endl;
}
return 0;
}
求解哪步错了???
全部评论
(1) 回帖