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

Задача . C. Суммы на подмассивах


Для массива \(a = [a_1, a_2, \dots, a_n]\) определим его подмассив \(a[l, r]\) как массив \([a_l, a_{l+1}, \dots, a_r]\).

Например, у массива \(a = [1, -3, 1]\) \(6\) непустых подмассивов:

  • \(a[1,1] = [1]\);
  • \(a[1,2] = [1,-3]\);
  • \(a[1,3] = [1,-3,1]\);
  • \(a[2,2] = [-3]\);
  • \(a[2,3] = [-3,1]\);
  • \(a[3,3] = [1]\).

Даны два целых числа \(n\) и \(k\). Постройте массив \(a\) из \(n\) целых чисел, такой, что:

  • все элементы \(a\) от \(-1000\) до \(1000\);
  • у массива \(a\) ровно \(k\) подмассивов с положительными суммами;
  • у каждого из остальных \(\dfrac{(n+1) \cdot n}{2}-k\) подмассивов \(a\) отрицательная сумма.
Входные данные

В первой строке задано одно целое число \(t\) (\(1 \le t \le 5000\)) — количество наборов входных данных.

Каждый набор входных данных состоит из одной строки, содержащей два целых числа \(n\) и \(k\) (\(2 \le n \le 30\); \(0 \le k \le \dfrac{(n+1) \cdot n}{2}\)).

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

Для каждого набора входных данных выведите \(n\) целых чисел — элементы массива, удовлетворяющего ограничениям задачи. Можно показать, что ответ всегда существует. Если ответов несколько, выведите любой из них.


Примеры
Входные данныеВыходные данные
1 4
3 2
2 0
2 2
4 6
1 -3 1
-13 -42
-13 42
-3 -4 10 -2

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

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