#P15627. [2022年保加利亚国家队组队赛Junior]Cakes蛋糕

[2022年保加利亚国家队组队赛Junior]Cakes蛋糕

题目描述

学校节日即将到来,学生会计划举办一次大型庆祝活动。Katya 被安排去制作蛋糕。

每个蛋糕必须恰好有 KK 层,并且满足如下条件:每一层的直径必须比它正上方那一层的直径至少大 CC

例如,当 C=2C=2 时,直径为 66 的蛋糕层上方,只能放置直径不超过 44 的蛋糕层。

Katya 有 NN 个圆形蛋糕模具,直径分别为:

a1,a2,,aN.a_1,a_2,\ldots,a_N.

她不太擅长烘焙,因此每个模具使用一次后就不能再用了。于是她已经用每个模具各烤出了一个蛋糕层。

遗憾的是,因为准备过程太混乱,Katya 忘记了学生会要求的 KK 的具体值。

由于朋友们暂时联系不上,她现在希望对每个 K[L,R]K\in[L,R],都知道最多能用现有蛋糕层做出多少个满足要求的 KK 层蛋糕。

请编写程序 cakes 回答 Katya 的问题。

输入格式

第一行输入两个整数 N,CN,C

第二行输入两个整数 L,RL,R

第三行输入 NN 个整数 a1,a2,,aNa_1,a_2,\ldots,a_N,表示所有蛋糕层的直径。

输出格式

在一行中输出 RL+1R-L+1 个非负整数,分别表示当:

K=L,L+1,,RK=L,L+1,\ldots,R

时,最多能制作的蛋糕数量。

数据范围

  • 1N1051\le N\le 10^5
  • 1LRN1\le L\le R\le N
  • 0C1090\le C\le 10^9
  • 1ai1091\le a_i\le 10^9

子任务

子任务 分值 附加限制
1 0 样例
2 12 N10, L=RN\le 10,\ L=R
3 16 N103N\le 10^3
4 N3×103N\le 3\times 10^3
5 20 N2×104N\le 2\times 10^4
6 16 L=102, R=NL=10^2,\ R=N
7 20 无附加限制

只有当某个子任务的所有测试点都通过时,才能获得该子任务分数。

样例

输入

8 2
1 8
1 2 3 6 7 8 5 4

输出

8 4 2 2 0 0 0 0

样例解释

K=1K=1 时,可以做 88 个一层蛋糕:

(1),(2),(3),(4),(5),(6),(7),(8).(1),(2),(3),(4),(5),(6),(7),(8).

K=2K=2 时,可以做 44 个两层蛋糕,例如:

(1,3),(2,4),(5,7),(6,8).(1,3),(2,4),(5,7),(6,8).

K=3K=3 时,可以做 22 个三层蛋糕,例如:

(1,3,7),(2,4,8).(1,3,7),(2,4,8).

K=4K=4 时,也可以做 22 个四层蛋糕,例如:

(1,3,5,7),(2,4,6,8).(1,3,5,7),(2,4,6,8).

更大的 KK 无法制作任何满足要求的蛋糕。