Minimum Permutation

Xem dạng PDF

Gửi bài giải


Điểm: 0,71 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Pre Shanghai 2004
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Số nghịch thế của dãy ~a_1, a_2, .., a_n~ là số cặp ~(i, j)~ mà ~i < j~ và ~a_i > a_j~ .

Cho ~n~ và số nghịch thế ~m~, tìm hoán vị nhỏ nhất của tập {1, 2, . . . , n} , mà số nghịch thế là ~m~.

Hoán vị ~a_1, a_2, . . . , a_n~ nhỏ hơn hoán vị ~b_1, b_2, . . . , b_n~ nếu tồn tại số nguyên ~k~ sao cho ~a_j = b_j~ với ~1 \le j < k~ và ~a_k < b_k~.

Input

Gồm một số test case, mỗi test gồm 2 số nguyên ~n~ và ~m~ và kết thúc là 2 số -1 -1.

Giả thiết ~1 \le n \le 50000~ và ~0 \le m \le n(n − 1)/2~.

Output

Với mỗi test, in ra hoán vị nhỏ nhất trên 1 dòng.

Sample Input

5 9
7 3
-1 -1

Sample Output

4 5 3 2 1 
1 2 3 4 7 6 5

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.