#abc273c. [abc273_c](K+1)-th Largest Number

[abc273_c](K+1)-th Largest Number

问题描述

给定长度为 NN 的序列 A=(A1,A2,ldots,AN)A = (A_1, A_2, \\ldots, A_N)。对于每个 K=0,1,2,ldots,N1K = 0, 1, 2, \\ldots, N-1,解决以下问题。

找到介于 11NN 之间(包括边界)的整数 ii,使得:

  • AA 刚好包含 KK 个大于 AiA_i 的不同整数。

约束条件

  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • 1leqAileq1091 \\leq A_i \\leq 10^9
  • 输入中的所有值都是整数。

输入

从标准输入中以以下格式给出:

NN A1A_1 A2A_2 ldots\\ldots ANA_N

输出

打印 NN 行。对于 i=1,2,ldots,Ni = 1, 2, \\ldots, N,第 ii 行应该包含 K=i1K = i-1 的答案。

示例输入 1

6
2 7 1 8 2 8

示例输出 1

2
1
2
1
0
0

例如,我们将找到 K=2K=2 的答案。

  • 对于 A1=2A_1 = 2AA 包含 22 个大于 A1A_1 的不同整数:7788
  • 对于 A2=7A_2 = 7AA 包含 11 个大于 A2A_2 的不同整数:88
  • 对于 A3=1A_3 = 1AA 包含 33 个大于 A3A_3 的不同整数:2,72, 788
  • 对于 A4=8A_4 = 8AA 不包含大于 A4A_4 的不同整数(没有这样的整数)。
  • 对于 A5=2A_5 = 2AA 包含 22 个大于 A5A_5 的不同整数:7788
  • 对于 A6=8A_6 = 8AA 不包含大于 A6A_6 的不同整数(没有这样的整数)。

因此,存在两个 ii 值,i=1i = 1i=5i = 5,使得 AA 刚好包含 K=2K = 2 个大于 AiA_i 的不同整数。因此,K=2K = 2 的答案为 22

示例输入 2

1
1

示例输出 2

1

示例输入 3

10
979861204 57882493 979861204 447672230 644706927 710511029 763027379 710511029 447672230 136397527

示例输出 3

2
1
2
1
2
1
1
0
0
0