小红的排列构造
题号:NC288157
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

小红希望你构造一个长度为n的排列,该排列的逆序对的数量不超过k,你能帮帮她吗?

定义排列是一个长度为n的数组,满足a_i∈[1,n]且不存在两个元素相同。
逆序对指满足 i<ja_i>a_j(i,j)二元组数量。

输入描述:

一行输入两个整数n,k,用空格隔开。
1\leq n \leq 10^5
0\leq k \leq \frac{n*(n-1)}{2}

输出描述:

如果无解,请输出-1。
否则输出n个正整数a_i,代表小红构造的排列。有多解时输出任意合法解。
示例1

输入

复制
4 4

输出

复制
1 3 4 2

说明

这个排列的逆序对数量为2,满足条件。

备注:

本题出题人:兰子