题意: 输出RANK 榜上与第k的位置,队伍 并列的队伍有多少个。
水题: 排个序就行了。
#include<cstdio>
#include<bits/stdc++.h>
using namespace std;
struct node{
int n,so,t;
}a[55];
int cmp(node x,node y){
if(x.so==y.so) return x.t<y.t;
return x.so>y.so;
}
int main(){
int n,k,x,y;
scanf("%d %d",&n,&k);
for(int i=1;i<=n;++i){
scanf("%d %d",&x,&y);
a[i].n=i,a[i].so=x,a[i].t=y;
}
sort(a+1,a+n+1,cmp);
int ans=0;
for(int i=k+1;i<=n;++i)
if(a[i].so==a[k].so&&a[i].t==a[k].t) ans++;
else break;
for(int i=k-1;i>0;--i)
if(a[i].so==a[k].so&&a[i].t==a[k].t) ans++;
else break;
printf("%d\n",ans+1);
return 0;
}