P1068:
#include<bits/stdc++.h>
using namespace std;
int n,m;
int x; //分数线
int t; //进入面试的人数
int num1[3904],num2[3904],gra1[3904],gra2[3904];
int a[3904],b[3904],c=1;
int main()
{
scanf("%d%d",&n,&m);
int w=m;
m*=1.5;
for(int i=1;i<=n;i++)
{
scanf("%d%d",&num1[i],&gra1[i]);
gra2[i]=gra1[i];
}
sort(gra1+1,gra1+n+1);
x=gra1[n-m+1];
printf("%d ",x);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(gra1[i]==gra2[j])
{
num2[i]=num1[j];
gra2[j]=-39;
break;
}
}
}
for(int i=1;i<=n;i++)
{
if(gra1[i]==gra1[i+1]&&num2[i]<num2[i+1])
{
swap(num2[i],num2[i+1]);
}
}
for(int i=n;i>0;i--)
{
// 这个要不要加:if(gra1[i]!=gra1[i-1]&&t>w) break;
if(gra1[i]>=x)
{
a[c]=num2[i],b[c]=gra1[i];
c++;
t++;
}
}
printf("%d\n",t);
for(int i=1;i<=t;i++)
{
printf("%d %d\n",a[i],b[i]);
}
return 0;
}
不加if(gra1[i]!=gra1[i-1]&&t>w) break;20分 :(
加了只有10分 :( :( :(