eolymp
bolt
Try our new interface for solving problems
Məsələlər

Число инверсий

Число инверсий

Перестановка это последовательность длины \textbf{n} различных целых чисел от \textbf{1} до \textbf{n}. Например, (\textbf{5}, \textbf{3}, \textbf{2}, \textbf{1}, \textbf{4}) это перестановка. Инверсией перестановки \textbf{p} называется такая упорядоченная пара индексов (\textbf{i}, \textbf{j}), что \textbf{i} < \textbf{j} и \textbf{p_i} > \textbf{p_j}. В примере выше пара индексов (\textbf{2}, \textbf{4}) образует инверсию, так как \textbf{2} < \textbf{4} и \textbf{3} > \textbf{1}. Задана пара чисел \textbf{n} и \textbf{t}. Найдите количество перестановок из \textbf{n} элементов, в которых ровно \textbf{t} инверсий. Выведите наименьшую в лексикографическом порядке перестановку с \textbf{t} инверсиями. \InputFile Два целых числа \textbf{n} и \textbf{t} (\textbf{1} ≤ \textbf{n} ≤ \textbf{18}; \textbf{0} ≤ \textbf{t} ≤ \textbf{200}). \OutputFile В первую строку выведите количество перестановок из \textbf{n} элементов, которые имеют ровно \textbf{t} инверсий. Во вторую строку выведите наименьшую в лексикографическом порядке перестановку с заданным числом инверсий \textbf{t}. Если такой перестановки не существует, выведите в первую строку "\textbf{0}", а во вторую -- символ "\textbf{-}". \InputFile Два целых числа \textbf{n} и \textbf{t} (\textbf{1} ≤ \textbf{n} ≤ \textbf{18}; \textbf{0} ≤ \textbf{t} ≤ \textbf{200}). \OutputFile В первую строку выведите количество перестановок из \textbf{n} элементов, которые имеют ровно \textbf{t} инверсий. Во вторую строку выведите наименьшую в лексикографическом порядке перестановку с заданным числом инверсий \textbf{t}. Если такой перестановки не существует, выведите в первую строку "\textbf{0}", а во вторую -- символ "\textbf{-}".
Zaman məhdudiyyəti 4 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
3 0
Çıxış verilənləri #1
1
1 2 3