AT_abc412_c [ABC412C] Giant Domino
题目描述
有 $N$ 个多米诺骨牌,编号从 $1$ 到 $N$。第 $i$ 个多米诺骨牌的大小为 $S_i$。
考虑将部分多米诺骨牌从左到右排成一行,然后推倒它们。当第 $i$ 个多米诺骨牌向右倒下时,如果它右侧紧邻的多米诺骨牌的大小不超过 $2S_i$,那么这个右侧的多米诺骨牌也会向右倒下。
你需要选择两个或更多的多米诺骨牌,从左到右排成一行,且排列必须满足以下条件:
- 最左侧的多米诺骨牌是第 $1$ 个。
- 最右侧的多米诺骨牌是第 $N$ 个。
- 当只推倒第 $1$ 个多米诺骨牌时,第 $N$ 个多米诺骨牌最终也会倒下。
是否存在满足上述条件的排列?如果存在,最少需要排列多少个多米诺骨牌?
你得回答 $T$ 组独立的测试用例。
by [yueyixuan2](https://www.luogu.com.cn/user/1708783)。
输入格式
输入通过标准输入以以下格式给出,其中 $case_i$ 表示第 $i$ 个测试用例:
> $T$
> $case_1$
> $case_2$
> $⋮$
> $case_T$
每个测试用例按以下格式给出:
> $N$
> $S_1$ $S_2$ $\dots$ $S_N$
输出格式
输出 $T$ 行,第 $i$ 行就是第 $i$ 个测试用例的答案。
对于每个测试用例,如果不存在满足条件的多米诺骨牌排列方式,输出 $-1$;否则,输出所需排列的多米诺骨牌的最少数量。
说明/提示
#### 样例解释
将多米诺骨牌从左到右按多米诺 $1$、多米诺 $3$、多米诺 $2$、多米诺 $4$ 的顺序排列,可满足题目的条件。尤其对于第三个条件,当只将多米诺 $1$ 向右推倒时,多米诺骨牌会按以下顺序倒下:
- 多米诺1的右侧放置着多米诺 $3$ 。多米诺 $3$ 的大小 $S_3=2$,不超过 $S_1×2=1×2=2$,因此多米诺 $3$ 也会向右倒下。
- 多米诺 $3$ 的右侧放置着多米诺 $2$。多米诺 $2$ 的大小 $S_2=3$,不超过 $S_3×2=2×2=4$,因此多米诺 $2$ 也会向右倒下。
- 多米诺 $2$ 的右侧放置着多米诺 $4$。多米诺 $4$ 的大小 $S_4=5$,不超过 $S_2×2=3×2=6$,因此多米诺 $4$ 也会向右倒下。
由于排列 $3$ 个及以下的多米诺骨牌无法满足题目的条件,所以答案是 $4$ 个。
#### 数据范围
所有数据保证:
- $1 \le T \le 10^5$;
- $2 \le N \le 2 \times 10^5$;
- $1 \le S_i \le 10^9$;
- 所有测试数据的 $N$ 总和不超过 $2\times 10^5$;
- 输入的所有数都是整数。