Submit solution
Points:
0.69 (partial)
Time limit:
0.38s
Memory limit:
256M
Input:
stdin
Output:
stdout
Problem source:
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho dãy số nguyên ~A~ gồm ~N~ phần tử đôi một khác nhau. Từ dãy ~A~ chọn ra ~K~ phần tử và giữ nguyên thứ tự như trong ~A~ tạo thành một dãy con. Sắp xếp tất cả các dãy con ~K~ phần tử theo thứ tự từ điển. Yêu cầu:
- Hãy tìm dãy con có thứ tự từ điển thứ ~M~
- Cho dãy con ~K~ phần tử của dãy ~A~. Hãy cho biết thứ tự từ điển của dãy con đó.
Input
- Dòng đầu gồm ~2~ số nguyên ~N~ và ~K~. ~(1 \le K \le N \le 60)~.
- Dòng thứ ~2~ ghi ~N~ số nguyên ~a[1]~, ~a[2]~, ..., ~a[n]~ ~(- 10^{6} \le~ ~a[i]~ ~\le 10^{6})~.
- Dòng thứ ~3~ ghi số nguyên ~M~ (theo yêu cầu ~1)~. ~(1 \le M \le 2^{63})~
- Dòng thứ ~4~ ghi ~K~ số nguyên là ~1~ dãy con của dãy ~A~ (theo yêu cầu ~2)~.
Output
- Dòng ~1~: trả lời yêu cầu ~1~, ghi ra dãy con ~K~ phần tử tìm được, giữa ~2~ số có ~1~ khoảng trắng.
- Dòng ~2~: trả lời yêu cầu ~2~, thứ tự từ điển của dãy con đó.
Giới hạn
~50\%~ số test có ~N \le 20~ và ~K \le 9~
Sample Input
6 4
7 9 5 3 2 4
8
7 9 3 4
Sample Output
7 9 3 4
8
Comments