题目描述
某比赛的成绩,是依次出现的,而每个选手的成绩依次公布的时候,榜单都会刷新一遍,就能看到该选手在当前榜单加入时,所在的名次。
下面给出了榜单选手的成绩,这里想知道,对于某个选手,求该选手在加入榜单时,所处的名次。
输入
第一行是一个数字n(n<3000),代表选手的数量
接下来一行,共n个数,表示选手的成绩
接下来一个数m,表示输出选手m加入榜单时的名次
输出
一个数,表示加入榜单时,选手的名次,
样例中,表示第三个数3,位于前3个数的第2位
样例输入
6 95 92 93 100 102 99 3
样例输出
2
#include <bits/stdc++.h>
using namespace std;
bool tcmp(int x,int y){
return x>y;
}
int main(){
int n;
cin>>n;
int scores[n];
for(int i=0;i<n;i++){
cin>>scores[i];
}
int m;
cin>>m;
int a=scores[m-1];
sort(scores,scores+m,tcmp);
for(int i=0;i<m;i++){
if(scores[i]==a){
cout<<i+1;
break;
}
}
return 0;
}