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$; - 输入的所有数都是整数。