#JCPC2023C. 平台信封太多了

平台信封太多了

Time limit: 1 second

Memory limit: 256 megabytes

题目描述

伫立在高楼之上的是 李华,困在此处的 TA\mathtt{TA} 正在想办法逃离。

同学们帮 李华 写的信实在太多了,以至于形成了 nn 个由信封向上堆叠而成的平台。每个平台由 aia_i 个信封组成,而每个信封都具有相同的高度 11。

这些平台从高楼往外沿射线方向延伸出去,如下图所示:

image

其中蓝色柱子为李华所在的高楼,高度为无穷大;绿色柱子为信封堆叠而成的平台。

为了逃离高楼,李华 需要让这些平台的高度 严格递减,从而他能顺着往下走。

幸运的是,李华 可以使用魔法。该魔法由若干次操作组成,定义魔法的一次操作为:

  1. 选择一堆信封;
  2. 将其中一个信封抽走,使该堆信封数量 −1-1;或者 选择任意一个信封,将其克隆一份后放到这堆信封的顶部,使该堆信封数量 +1+1。

这是一个充满特性的世界,就算选择了一堆数量为 非正数 的信封,李华 依然可以执行操作,从而 平台高度可以是负整数。

李华 需要念动 咒语 来施展魔法,咒语 由 小写 字母组成,为 操作次数 xx 的 2626 进制表示。具体可参考样例解释。

李华 知道同学们写这么多信是很累的,所以他希望尽可能 减少操作数,同时还能达到逃离高楼的目的。

现在,假如你是 李华,你能找出合适的 咒语,并逃离这里吗?

输入

第一行为一个正整数 nn ,代表平台的个数。

第二行包含 nn 个整数,第 ii 个整数代表第 ii 个平台的高度 aia_i。

输出

输出一行一个字符串,代表魔法的咒语。

限制

1≤n≤2×1051 \leq n \leq 2 \times 10 ^ 5

−109≤ai≤109-10 ^ 9 \leq a_i \leq 10 ^ 9

5
3 2 1 -1 434409
ysqd

样例解释

下面是其中一种方案:

  • 从第 44 堆信封中选择任意一个信封,将其克隆一份后放到顶部,使其数量变为 00;
  • 从第 55 堆信封中抽走 434410434410 个信封,使其数量变为 −1-1。

此时数量分别为 3 2 1 0 -1,满足严格递减,你可以逃离高楼。

此时需要的最小操作次数为 x=434411x = 434411,它的 2626 进制表示如下:

$x = 434411 = 24 \times 26^3 + 18 \times 26^2 + 16 \times 26^1 + 3 \times 26^0$。

按照字母表顺序从 00 开始编号,有 $\mathtt{y} = 24, \mathtt{s} = 18, \mathtt{q} = 16, \mathtt{d} = 3$,从而对应的 咒语 为 ysqd\mathtt{ysqd}。