列表

详情


NC24662. 小宇的排名

描述

小宇参加了学校举办的程序设计大赛,老师告诉了小宇所有人的成绩,现在小宇想知道自己的排名是多少?

输入描述

输入共有两行,

第一行由多个以空格隔开的非负整数 Gi (1<= i <= 200)组成,代表除小宇外每个同学的成绩。

第二行为一个整数 k,代表小宇的成绩。

输出描述

输出一个正整数,代表小宇的排名。

示例1

输入:

10 20 30 40 50 60 40
30

输出:

5

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C(clang 3.9) 解法, 执行用时: 3ms, 内存消耗: 356K, 提交时间: 2019-11-14 20:33:31

#include <stdio.h>
int main()
{
	int i=0,j,n,sum=0;
	int a[200];
    char k;
	for(;k!='\n';){
		scanf("%d",&a[i]);
		scanf("%c",&k);
		i++;}
	scanf("%d",&n);
	for(j=0;j<i;j++){
		if(a[j]>n) sum=sum+1;
		else;}
	printf("%d",sum+1);
	return 0;
}

Python3(3.5.2) 解法, 执行用时: 35ms, 内存消耗: 5560K, 提交时间: 2019-04-10 13:15:17

scores = input()
obj = eval(input())
scores = scores.split()
sco = []
for s in scores:
	sco.append(eval(s))

sco = sorted(sco)[::-1]
count = 1
for s in sco:
	if s <= obj:
		break
	count += 1
print(count)

C++(clang++11) 解法, 执行用时: 3ms, 内存消耗: 376K, 提交时间: 2020-12-20 20:37:57

#include <cstdio>
const int maxn = 102;
int x, c[maxn], cur;
int main(){
	while(~scanf("%d", &x)) c[x]++;
	for(int i = 101; i > x; i--) cur += c[i];
	printf("%d\n", cur + 1);
	return 0;
}

上一题