QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 512 MB Points totaux : 100

#4603. 黑暗神殿

Statistiques

“我们不必为了对抗黑暗而进入黑暗。” “有时,击败邪恶意味着弄脏自己的双手。” “而有时,弄脏双手会让你堕入邪恶。”Ishanah 的微笑似乎带着嘲讽。 “为了与圣光共事,你必须心存纯洁。” “你以为我不是吗?”Maiev 的声音中压抑着怒火。 “我认为你在做你认为正确的事。”

伊利丹正在练习圣光魔法,他试图用圣光创造一棵“好树”。他希望树中每个顶点的深度之和等于某个特定的数字。

“好树”是一棵有根树,其中每个顶点要么是叶子,要么有两个子节点。 顶点的深度是指从该顶点到根节点的路径长度。 树 $T$ 的“深度序列” $A$ 是一个无限序列,其中 $A[i] = f(T, i)$,$f(T, i)$ 表示树 $T$ 中深度为 $i$ 的顶点数量。

给定一个整数 $k$,你需要确定是否存在一棵好树 $T$,使得: $$\sum_{i \ge 0} f(T, i) * i = k$$

如果不存在这样的树,输出 -1。 如果存在多棵符合条件的树,请输出顶点数最少的那一棵。 如果仍然存在多棵符合条件的树,请输出深度序列字典序最小的那一棵。

在本题中,为了方便起见,你只需要输出树的深度序列。 可以证明,输出结果是唯一确定的。

注意:对于两个无限序列 $A$ 和 $B$,当且仅当存在 $i \ge 0$ 使得 $A[i] < B[i]$,且对于所有 $j = 0 \dots i - 1$ 都有 $A[j] = B[j]$ 时,称 $A$ 在字典序上小于 $B$。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 10$),表示测试用例的数量。 接下来是 $T$ 个测试用例。 每个测试用例包含一行,含有一个整数 $k$ ($0 \le k \le 10^{12}$),表示所有顶点的深度之和。

输出格式

对于每个测试用例,如果不存在这样的树,输出一行 -1。 否则,输出两行。 第一行包含两个数字 $n$ 和 $d$,分别表示树的顶点数和顶点的最大深度。 第二行包含 $d+1$ 个数字,表示 $A[0] \dots A[d]$,即深度序列 $A$ 的非零部分。

样例

输入格式 1

2
4
22

输出格式 1

-1
11 3
1 2 4 4

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.