Type: Default 1000ms 256MiB

[R38F]魔塔

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

时空限制

4S/512M

题目描述

jiangly 发现了一座古老的魔塔,塔内有 nn 个珠子,第 ii 个珠子具有不平衡度 aia_i

jiangly 可以从这 nn 个珠子中按原顺序选取若干个珠子来搭建一座新塔。如果选出的珠子不平衡度依次为 v1,v2,,vkv_1, v_2, \dots, v_k,则整座塔的总不平衡度计算公式为:

v1(v2(vk))v_1^{(v_2^{(\dots^{v_k})})}

(注:运算顺序为从右上向左下进行,即 v1(v2(vk))v_1 \wedge (v_2 \wedge (\dots \wedge v_k)))。

为了保证魔塔稳定,塔的总不平衡度不能超过给定的阈值 XX。 求有多少种不同的选取珠子的方案,使得塔稳定。两个方案被认为是不同的,当且仅当选取的珠子下标集合不同。

由于答案可能很大,请输出答案对 666666666666666666 取模的结果。

格式

输入格式

第一行包含两个整数 n,Xn, X,分别表示珠子的总数和不平衡度的最大阈值。

第二行包含 nn 个整数 aia_i,表示每个珠子的不平衡度。

输出格式

输出一个整数,表示方案数对 666666666666666666 取模后的结果。

样例

样例输入 #1

5 20
2 3 2 3 2

样例输出 #1

15

样例解释 #1

方案解释:

  • 选取 22 个及以下珠子的方案:除了组合 (3,3)(3, 3) 不合法(因为 33=27>203^3=27 > 20)外,其余均合法。
  • 选取 33 个及以上珠子的方案:只有选取第 113355 个珠子(值为 22, 22, 22)合法,因为 2(22)=16202^{(2^2)} = 16 \le 20。 总方案数为 1515

样例输入 #2

4 6553665536
2 2 2 2

样例输出 #2

15

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn\le aia_i
11 1010 1515 2\ge 2
22 1515 4040
33 2020 10610^6 4\ge 4
44 2525 3\ge 3
55 3030 2\ge 2

对于 100%100\% 的数据,1n1061\leq n \leq 10^61X10181\leq X \leq 10^{18}2ai1062\leq a_i \leq 10^6

代码源挑战赛 Round 38

Not Attended
Status
Done
Rule
DMY
Start at
2025-11-21 20:00
End at
2025-11-21 21:30
Duration
1.5 hour(s)
Host
Partic.
369