传统题 文件IO:rank 1000ms 512MiB

实时排名

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

本题使用文件输入输出:输入文件名为 rank.in,输出文件名为 rank.out。

学校举办编程比赛,共 nn 名选手依次提交成绩,第 ii 名提交的选手得分为 sis_i(0∼1000 \sim 100 的整数)。

大屏幕上要实时显示:每当一名选手提交成绩后,立刻显示这名选手当前的名次。名次的规则是:比他分数严格高的选手有 tt 人,他的名次就是 t+1t+1(同分的选手名次相同,且只看已经提交的选手)。

请你输出大屏幕依次显示的 nn 个名次。

输入格式

输入文件名为 rank.in。

第一行一个整数 nn,表示选手人数。

第二行 nn 个整数 s1,s2,…,sns_1, s_2, \dots, s_n,表示选手按提交顺序的得分。

输出格式

输出文件名为 rank.out。

共 nn 行,第 ii 行一个整数,表示第 ii 名选手提交后大屏幕显示的名次。

样例 #1

样例输入 #1

7
80 95 80 60 100 95 80

样例输出 #1

1
1
2
4
1
2
4

样例解释

提交 得分 此时已提交的分数 比他高的人数 名次
1 8080 00 11
2 9595 80,9580, 95
3 8080 80,95,8080, 95, 80 11(9595) 22
4 6060 80,95,80,6080, 95, 80, 60 33 44
5 100100 …,100\dots, 100 00 11
6 9595 …,100,95\dots, 100, 95 11(100100) 22
7 8080 …,95,80\dots, 95, 80 33(95,100,9595, 100, 95) 44

注意第 33 名选手和第 11 名选手同为 8080 分,同分不算「比他高」,所以第 33 名选手的名次是 22 而不是 33。

样例 #2

样例输入 #2

5
100 100 100 0 100

样例输出 #2

1
1
1
4
1

提示

数据范围

  • 对于 30%30\% 的数据:n≤1000n \le 1000;
  • 对于 60%60\% 的数据:n≤104n \le 10^4;
  • 对于 100%100\% 的数据:1≤n≤1051 \le n \le 10^5,0≤si≤1000 \le s_i \le 100。

CSP模拟赛-Level A

未参加
状态
已结束
规则
OI
题目
6
开始于
2026-10-7 19:45
结束于
2026-10-16 3:45
持续时间
200 小时
主持人
参赛人数
21