SP3933 最小排列
题目描述
整数序列 $a_1, a_2, \ldots, a_n$ 的逆序数定义为满足 $i < j$ 且 $a_i > a_j$ 的数对 $(a_i, a_j)$ 的个数。
给定 $n$ 和逆序数 $m$,你的任务是找出集合 $\{1, 2, \ldots, n\}$ 的所有排列中,逆序数恰好为 $m$ 且字典序最小的那个排列。
排列 $a_1, a_2, \ldots, a_n$ 小于排列 $b_1, b_2, \ldots, b_n$ 当且仅当存在整数 $k$,使得对于所有 $1 \le j < k$ 都有 $a_j = b_j$,但 $a_k < b_k$。
输入格式
输入包含多组数据。
每行输入两个整数 $n$ 和 $m$。输入的最后一行两个整数均为 $-1$,不进行处理。
输出格式
对于每个测试点,用单个空格分隔数字,输出包含最小排列的一行。
说明/提示
$1 \le n \le 50,000$ 且 $0 \le m \le \frac{n(n-1)}{2}$。