CF1990B Array Craft
题目描述
对于一个长度为 $m$ 的数组 $b$,我们定义:
- 最大前缀位置为最小的下标 $i$,满足 $b_1+\ldots+b_i=\max_{j=1}^{m}(b_1+\ldots+b_j)$;
- 最大后缀位置为最大的下标 $i$,满足 $b_i+\ldots+b_m=\max_{j=1}^{m}(b_j+\ldots+b_m)$。
现给定三个整数 $n$、$x$ 和 $y$($x > y$)。请构造一个长度为 $n$ 的数组 $a$,满足:
- 对于所有 $1 \le i \le n$,$a_i$ 只能取 $1$ 或 $-1$;
- $a$ 的最大前缀位置为 $x$;
- $a$ 的最大后缀位置为 $y$。
如果有多组满足条件的数组,输出任意一组即可。可以证明,在给定条件下总是存在这样的数组。
输入格式
第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。
对于每个测试用例:
- 唯一一行包含三个整数 $n$、$x$ 和 $y$($2 \leq n \leq 10^5, 1 \le y < x \le n$)。
保证所有测试用例中 $n$ 的总和不超过 $10^5$。
输出格式
对于每个测试用例,输出一行 $n$ 个用空格分隔的整数 $a_1, a_2, \ldots, a_n$。
说明/提示
在第二个测试用例中:
- $i=x=4$ 是满足 $a_1+\ldots +a_i=\max_{j=1}^{n}(a_1+\ldots+a_j)=2$ 的最小下标;
- $i=y=3$ 是满足 $a_i+\ldots +a_n=\max_{j=1}^{n}(a_j+\ldots+a_n)=2$ 的最大下标。
因此,数组 $a=[1,-1,1,1]$ 是正确答案。
由 ChatGPT 4.1 翻译