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