AT_abc412_c.[ABC412C] Giant Domino

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 个多米诺骨牌,编号从 11 到 NN。第 ii 个多米诺骨牌的大小为 SiS_i。

考虑将部分多米诺骨牌从左到右排成一行,然后推倒它们。当第 ii 个多米诺骨牌向右倒下时,如果它右侧紧邻的多米诺骨牌的大小不超过 2Si2S_i,那么这个右侧的多米诺骨牌也会向右倒下。

你需要选择两个或更多的多米诺骨牌,从左到右排成一行,且排列必须满足以下条件:

  • 最左侧的多米诺骨牌是第 11 个。
  • 最右侧的多米诺骨牌是第 NN 个。
  • 当只推倒第 11 个多米诺骨牌时,第 NN 个多米诺骨牌最终也会倒下。

是否存在满足上述条件的排列?如果存在,最少需要排列多少个多米诺骨牌?

你得回答 TT 组独立的测试用例。

by yueyixuan2。

输入格式

输入通过标准输入以以下格式给出,其中 caseicase_i 表示第 ii 个测试用例:

TT
case1case_1
case2case_2
⋮⋮
caseTcase_T

每个测试用例按以下格式给出:

NN
S1S_1 S2S_2 …\dots SNS_N

输出格式

输出 TT 行,第 ii 行就是第 ii 个测试用例的答案。

对于每个测试用例,如果不存在满足条件的多米诺骨牌排列方式,输出 −1-1;否则,输出所需排列的多米诺骨牌的最少数量。

输入输出样例

  • 输入#1

    3
    4
    1 3 2 5
    2
    1 100
    10
    298077099 766294630 440423914 59187620 725560241 585990757 965580536 623321126 550925214 917827435

    输出#1

    4
    -1
    3

说明/提示

样例解释

将多米诺骨牌从左到右按多米诺 11、多米诺 33、多米诺 22、多米诺 44 的顺序排列,可满足题目的条件。尤其对于第三个条件,当只将多米诺 11 向右推倒时,多米诺骨牌会按以下顺序倒下:

  • 多米诺1的右侧放置着多米诺 33 。多米诺 33 的大小 S3=2S_3=2,不超过 S1×2=1×2=2S_1×2=1×2=2,因此多米诺 33 也会向右倒下。
  • 多米诺 33 的右侧放置着多米诺 22。多米诺 22 的大小 S2=3S_2=3,不超过 S3×2=2×2=4S_3×2=2×2=4,因此多米诺 22 也会向右倒下。
  • 多米诺 22 的右侧放置着多米诺 44。多米诺 44 的大小 S4=5S_4=5,不超过 S2×2=3×2=6S_2×2=3×2=6,因此多米诺 44 也会向右倒下。

由于排列 33 个及以下的多米诺骨牌无法满足题目的条件,所以答案是 44 个。

数据范围

所有数据保证:

  • 1≤T≤1051 \le T \le 10^5;
  • 2≤N≤2×1052 \le N \le 2 \times 10^5;
  • 1≤Si≤1091 \le S_i \le 10^9;
  • 所有测试数据的 NN 总和不超过 2×1052\times 10^5;
  • 输入的所有数都是整数。

输入解题思路,AI测评打分。不知道怎么写?

首页