CF1305E Kuroni and the Score Distribution

题目描述

Kuroni 是下一场由 “Proof by AC” 团队出题的 Mathforces 比赛的协调员。所有的准备工作都已完成,他正在和团队讨论本场比赛的分数分配方案。 本场比赛包含 $n$ 道题目,编号从 $1$ 到 $n$。题目按照难度递增排列,且没有两道题目的难度相同。一次分数分配可以用一个数组 $a_1, a_2, \dots, a_n$ 表示,其中 $a_i$ 表示第 $i$ 道题目的分数。 Kuroni 认为分数分配应满足以下要求: - 每道题目的分数应为不超过 $10^9$ 的正整数。 - 难度更高的题目分数应严格大于难度较低的题目,即 $1 \leq a_1 < a_2 < \dots < a_n \leq 10^9$。 - 分数分配的平衡性定义为满足 $1 \leq i < j < k \leq n$ 且 $a_i + a_j = a_k$ 的三元组 $(i, j, k)$ 的数量,要求其恰好为 $m$。 请帮助团队找到一个满足 Kuroni 要求的分数分配方案。如果不存在这样的分数分配方案,输出 $-1$。

输入格式

第一行包含两个整数 $n$ 和 $m$($1 \leq n \leq 5000$,$0 \leq m \leq 10^9$),分别表示题目数量和所需的平衡性。

输出格式

如果无解,输出一个整数 $-1$。 否则,输出一行 $n$ 个整数 $a_1, a_2, \dots, a_n$,表示满足要求的分数分配方案。如果有多组答案,输出任意一组均可。

说明/提示

在第一个样例中,有 $3$ 个三元组 $(i, j, k)$ 对分数分配的平衡性有贡献: - $(1, 2, 3)$ - $(1, 3, 4)$ - $(2, 4, 5)$ 由 ChatGPT 4.1 翻译