Hoán vị (C.P.VNOI 2021 LMH R12)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1600 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Người ta liệt kê tất cả các hoán vị của dãy số \((1,2,...,n)\) theo thứ tự từ điển. Gọi \(P=(p_1,p_2,...,p_n)\) là một trong những hoán vị đó. Hãy tìm hoán vị đứng sau \(P\) đúng \(k\) vị trí theo cách liệt kê đã cho.

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(n \leq 10^3, k \leq 10^{18}\)
  • Dòng thứ hai chứa \(n\) số \(p_1, p_2,...,p_n\)

Output

  • In ra \(n\) số nguyên \(q_1, q_2,...,q_n\) ứng với hoán vị tìm được
  • In ra \(-1\) nếu không tồn tại hoán vị theo yêu cầu đề ra

Example

Test 1

Input
4 2
1 4 2 3
Output
2 1 3 4

Test 2

Input
5 1
5 4 3 2 1
Output
-1

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.