Codeforces Round 592 (Div. 2) |
---|
Закончено |
В преддверии олимпийских игр, проходящих в $$$20NN$$$ году в городе Берлятове, министерство спорта приняло решение устроить показательные соревнования. И сегодня на стадионе проходят парные забеги, в которых участвуют бегуны из команды Берлятова. Рассмотрим процесс выступления команды в парных забегах более подробно.
Команда Берлятова состоит из $$$2n$$$ бегунов, которые расположены на двух беговых дорожках, причем на каждой дорожке стоит ровно по $$$n$$$ бегунов. Бегуны на каждой дорожке пронумерованы целыми числами от $$$1$$$ до $$$n$$$. Бегун с номером $$$i$$$ пробегает всю беговую дистанцию ровно за $$$i$$$ секунд.
Забеги проходят следующим образом: сначала забег начинает пара первых бегунов на каждой дорожке, когда самый медленный из них добегает дистанцию до конца, выходит пара вторых бегунов на каждой дорожке, и все опять ждут, пока добежит самый медленный из них, и так далее, пока все $$$n$$$ пар бегунов не пробегут дистанцию.
Организаторы мероприятия хотят, чтобы зрители оставались на стадионе как можно дольше, но при этом, если суммарное время всех забегов будет дольше $$$k$$$ секунд, зрителям станет скучно. Вы, как тренер команды, можете выбрать любой порядок бегунов на каждой из дорожек (но учтите, что вы можете менять только порядок бегунов на каждой из дорожек, менять количество бегунов на дорожке нельзя, также нельзя менять бегунов между разными дорожками).
Определите такой порядок выступления бегунов на каждой из дорожек, что забеги продлятся как можно дольше, но при этом их суммарное время не будет превосходить $$$k$$$ секунд.
Более формально, вы хотите найти такие две перестановки $$$p$$$ и $$$q$$$ (обе длины $$$n$$$), что $$$sum = \sum\limits_{i=1}^{n} max(p_i, q_i)$$$ является максимально возможным числом, не превышающим $$$k$$$. Если такой пары перестановок не существует, сообщите об этом.
В первой строке следуют два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 10^6, 1 \le k \le n^2$$$) — количество бегунов на каждой из дорожек и максимально допустимая суммарная длительность забегов.
Если невозможно найти такой порядок бегунов на каждой из дорожек, что суммарная длительность забегов не превысит $$$k$$$ секунд, выведите $$$-1$$$.
В противном случае, в первую строку выведите одно целое число $$$sum$$$ — максимально возможную суммарную длительность забегов, не превышающую $$$k$$$. Во вторую строку выведите перестановку из $$$n$$$ элементов $$$p_1, p_2, \dots, p_n$$$ ($$$1 \le p_i \le n$$$, все $$$p_i$$$ должны быть различны) — номера бегунов с первой дорожки в порядке их выступления. В третью строку выведите перестановку из $$$n$$$ элементов $$$q_1, q_2, \dots, q_n$$$ ($$$1 \le q_i \le n$$$, все $$$q_i$$$ должны быть различны) — номера бегунов со второй дорожки в порядке их выступления. Значение $$$sum = \sum\limits_{i=1}^{n} max(p_i, q_i)$$$ должно быть максимально возможным числом, не превосходящим $$$k$$$. Если ответов несколько, выведите любой из них.
5 20
20 1 2 3 4 5 5 2 4 3 1
3 9
8 1 2 3 3 2 1
10 54
-1
В первом примере порядок бегунов на первой дорожке может быть равен $$$[5, 3, 2, 1, 4]$$$, а на второй — $$$[1, 4, 2, 5, 3]$$$. Тогда суммарное время всех забегов равно $$$max(5, 1) + max(3, 4) + max(2, 2) + max(1, 5) + max(4, 3) = 5 + 4 + 2 + 5 + 4 = 20$$$, то есть оно в точности равно максимально допустимой длительности забегов.
Во втором примере порядок бегунов на первой дорожке может быть равен $$$[2, 3, 1]$$$, а на второй — $$$[2, 1, 3]$$$. В таком случае суммарное время всех забегов равно $$$8$$$. Это максимально возможная суммарная длительность забегов для $$$n = 3$$$.
Название |
---|