Олимпиадный тренинг

Задача . C. Манхэттенские перестановки


Назовем манхэттенской величиной перестановки\(^{\dagger}\) \(p\) значение выражения \(|p_1 - 1| + |p_2 - 2| + \ldots + |p_n - n|\).

Например, для перестановки \([1, 2, 3]\) манхэттенская величина равна \(|1 - 1| + |2 - 2| + |3 - 3| = 0\), а для перестановки \([3, 1, 2]\) манхэттенская величина равна \(|3 - 1| + |1 - 2| + |2 - 3| = 2 + 1 + 1 = 4\).

Вам даны целые числа \(n\) и \(k\). Найдите такую перестановку \(p\) длины \(n\), что её манхэттенская величина равна \(k\) или определите, что такой перестановки не существует.

\(^{\dagger}\)Перестановкой длины \(n\) является массив, состоящий из \(n\) различных целых чисел от \(1\) до \(n\) в произвольном порядке. Например, \([2,3,1,5,4]\) — перестановка, но \([1,2,2]\) не перестановка (\(2\) встречается в массиве дважды) и \([1,3,4]\) тоже не перестановка (\(n=3\), но в массиве встречается \(4\)).

Входные данные

Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно число \(t\) (\(1 \leq t \leq 10^{4}\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

Единственная строка каждого набора входных данных содержит два целых числа \(n\) и \(k\) (\(1 \le n \le 2 \cdot 10^{5}, 0 \le k \le 10^{12}\)) — длина перестановки и необходимая манхэттенская величина.

Гарантируется, что сумма \(n\) по всем наборам входных данных не превосходит \(2 \cdot 10^{5}\).

Выходные данные

Для каждого набора входных данных, если не существует подходящей перестановки, выведите «No». В противном случае в первой строке выведите «Yes», а во второй строке выведите \(n\) различных целых чисел \(p_1, p_2, \ldots, p_n\) (\(1 \le p_i \le n\)) — подходящую перестановку.

Если существует несколько решений, выведите любое из них.

Вы можете выводить ответ в любом регистре (например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительный ответ).

Примечание

В первом наборе входных данных подходит перестановка \([3, 1, 2]\), её манхэттенская величина равна \(|3 - 1| + |1 - 2| + |2 - 3| = 2 + 1 + 1 = 4\).

Во втором наборе входных данных можно доказать, что не существует перестановки длины \(4\) с манхэттенской величиной \(5\).

В третьем наборе входных данных подходит перестановка \([1,2,3,4,5,6,7]\), её манхэттенская величина равна \(|1-1|+|2-2|+|3-3|+|4-4|+|5-5|+|6-6|+|7-7|=0\).


Примеры
Входные данныеВыходные данные
1 8
3 4
4 5
7 0
1 1000000000000
8 14
112 777
5 12
5 2
Yes
3 1 2
No
Yes
1 2 3 4 5 6 7
No
Yes
8 2 3 4 5 6 1 7
No
Yes
5 4 3 1 2
Yes
2 1 3 4 5

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя