10、滚动的榜单

题目描述

某比赛的成绩,是依次出现的,而每个选手的成绩依次公布的时候,榜单都会刷新一遍,就能看到该选手在当前榜单加入时,所在的名次。

下面给出了榜单选手的成绩,这里想知道,对于某个选手,求该选手在加入榜单时,所处的名次。

输入

第一行是一个数字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;
}

Guess you like

Origin blog.csdn.net/weixin_46027166/article/details/121737620