MMINPER - Minimum Permutation




Số nghịch thế của dãy a1, a2, .., an là số cặp (ai, aj) mà i < j và ai > aj . 
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ị a1, a2, . . . , an nhỏ hơn hoán vị b1, b2, . . . , bn nếu tồn tại số nguyên
k sao cho aj = bj với 1 ≤ j < k và ak < bk.

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 ≤ n ≤ 50000 và 0 ≤ m ≤ 1/2n(n − 1).

Sample Input
5 9
7 3
-1 -1

Output

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

Sample output
4 5 3 2 1
1 2 3 4 7 6 5

Được gửi lên bởi:psetter
Ngày:2009-02-23
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET
Nguồn bài:Pre Shanghai 2004

hide comments
2020-03-13 12:52:28
ai cho em xin code bai nay voi a
2016-04-04 17:04:23
Code C++ ac,code pascal sai??
2015-11-16 15:25:43 Nắng
sao làm O(n*test) mà vẫn TLE nhỉ =="
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.