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 翻译