CF1809C Sum on Subarrays

题目描述

对于一个数组 $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$。请构造一个长度为 $n$ 的整数数组 $a$,使得: - $a$ 的所有元素均在 $-1000$ 到 $1000$ 之间; - $a$ 恰好有 $k$ 个子数组的元素和为正数; - 剩下的 $\dfrac{(n+1) \cdot n}{2}-k$ 个子数组的元素和为负数。

输入格式

第一行包含一个整数 $t$($1 \le t \le 5000$),表示测试用例的数量。 每个测试用例包含一行,包括两个整数 $n$ 和 $k$($2 \le n \le 30$;$0 \le k \le \dfrac{(n+1) \cdot n}{2}$)。

输出格式

对于每个测试用例,输出 $n$ 个整数,表示满足条件的数组元素。可以证明一定存在解。如果有多组解,输出任意一组即可。

说明/提示

由 ChatGPT 4.1 翻译