首页 > 试题广场 >

晋级人数

[编程题]晋级人数
  • 热度指数:8755 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

小团是某综艺节目的策划,他为某个游戏环节设计了一种晋级规则,已知在这个游戏环节中每个人最后都会得到一个分数score_i,显而易见的是,游戏很有可能出现同分的情况,小团计划该环节晋级人数为x人,则将所有人的分数从高到低排序,所有分数大于等于第x个人的分数且得分不为0的人都可以晋级。

请你求出本环节的实际晋级人数。显然这个数字可能是0,如果所有人的得分都是0,则没有人满足晋级条件。


输入描述:

输入第一行包含两个正整数n和x,分别表示参加本环节的人数,和小团指定的x。

输入第二行包含n个整数,每个整数表示一位选手的得分。



输出描述:
输出仅包含一个整数,表示实际晋级人数。
示例1

输入

5 4 
0 0 2 3 4

输出

3
# 提取第x人的分数 score[x-1]
# 大于等于第x人的分数为晋级人数 score[i]
a = list(map(int,input().strip().split()))
n,x = a
score = list(map(int,input().strip().split()))
score.sort()

num = 0
for i in range(n):
    if score[i]>=score[n-x-1] and score[i]!=0:
        num += 1
print(num)
编辑于 2023-08-01 10:13:35 回复(0)