#AT2343. C - (K+1)-th Largest Number

C - (K+1)-th Largest Number

当前没有测试数据。

C - 第(K+1)大的数

得分:$300$ 分

问题描述

给定一个长度为 $N$ 的数列 $A = (A_1, A_2, \ldots, A_N)$。 对于每个 $K = 0, 1, 2, \ldots, N-1$,解决下面的问题。

找出介于 $1$ 和 $N$(包括它们本身)之间的数的个数 $i$,满足以下条件:

  • $A$ 包含恰好 $K$ 个大于 $A_i$ 的不同整数。

约束条件

  • $1 \leq N \leq 2 \times 10^5$
  • $1 \leq A_i \leq 10^9$
  • 输入中的所有值为整数。

输入

从标准输入中按照以下格式给定:

NN

A1A_1 A2A_2 \ldots ANA_N

输出

输出 $N$ 行。 对于 $i = 1, 2, \ldots, N$,第 $i$ 行应该包含对于 $K = i-1$ 的答案。


6
2 7 1 8 2 8
2
1
2
1
0
0

例如,我们来找出 $K=2$ 的答案。

  • 对于 $A_1 = 2$,$A$ 中有 $2$ 个大于 $A_1$ 的不同整数:$7$ 和 $8$。
  • 对于 $A_2 = 7$,$A$ 中有 $1$ 个大于 $A_2$ 的不同整数:$8$。
  • 对于 $A_3 = 1$,$A$ 中有 $3$ 个大于 $A_3$ 的不同整数:$2, 7$ 和 $8$。
  • 对于 $A_4 = 8$,$A$ 中没有大于 $A_4$ 的不同整数(不存在这样的整数)。
  • 对于 $A_5 = 2$,$A$ 中有 $2$ 个大于 $A_5$ 的不同整数:$7$ 和 $8$。
  • 对于 $A_6 = 8$,$A$ 中没有大于 $A_6$ 的不同整数(不存在这样的整数)。

因此,有两个 $i$,即 $i = 1$ 和 $i = 5$,使得 $A$ 中恰好包含 $K = 2$ 个大于 $A_i$ 的不同整数。因此,$K = 2$ 的答案是 $2$。


1
1
1

10
979861204 57882493 979861204 447672230 644706927 710511029 763027379 710511029 447672230 136397527
2
1
2
1
2
1
1
0
0
0