MMINPER - Minimum Permutation

no tags 

The inversion number of an integer sequence a1, a2, . . . , an is the number
of pairs (ai, aj) that satisfy i < j and ai > aj . Given n and the inversion
number m, your task is to find the smallest permutation of the set { 1, 2, . . . , n } , 
whose inversion number is exactly m. A permutation a1, a2, . . . , an is smaller 
than b1, b2, . . . , bn if and only if there exists an integer k such that aj = bj 
for 1 ≤ j < k but ak < bk.

Input

The input consists of several test cases. Each line of the input contains two
integers n and m. Both of the integers at the last line of the input is −1,
which should not be processed. You may assume that
1 ≤ n ≤ 50000 and 0 ≤ m ≤ 1/2n(n − 1).

Sample Input
5 9
7 3
-1 -1

Output

 
For each test case, print a line containing the smallest permutation as 
described above, separates the numbers by single spaces.

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

hide comments
aditya kumar: 2010-05-31 08:59:25

i have tested it extreme case still i am getting WA


Added by:~!(*(@*!@^&
Date:2009-02-23
Time limit:0.121s-0.376s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:Pre Shanghai 2004