AT_tkppc6_2_g.Must be Distinct!

通过率:0%

AC君温馨提醒

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

题目描述

一个长度为 MM 的整数序列 BB,如果满足以下条件,则称为好数列:

  • 不存在整数对 (i,j)(i, j),满足 1≤i<j<M1 \leq i < j < M 且 ∣Bi−Bi+1∣=∣Bj−Bj+1∣|B_i - B_{i+1}| = |B_j - B_{j+1}|。

企鹅君的目标是,对于给定的长度为 NN 的整数序列 AA,通过以下操作任意次(可以为 00 次),将 AA 变为好数列:

  • 选择满足 1≤l≤r≤N1 \leq l \leq r \leq N 的整数对 (l,r)(l, r),将 Al,Al+1,…,ArA_l, A_{l+1}, \ldots, A_r 分别乘以 −1-1。

请判断企鹅君的目标是否可以实现,如果可以,请输出所需操作次数的最小值;如果无法实现,输出 −1-1。

输入格式

输入通过标准输入给出,格式如下:

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

如果企鹅君的目标可以实现,输出所需操作次数的最小值;如果无法实现,输出 −1-1。

输入输出样例

  • 输入#1

    4
    1 3 0 2

    输出#1

    1
  • 输入#2

    4
    -2 1 -4 8

    输出#2

    0
  • 输入#3

    4
    1 1 1 1

    输出#3

    -1
  • 输入#4

    10
    -7 4 -8 6 10 3 4 -9 4 7

    输出#4

    1

说明/提示

限制条件

  • 3≤N≤1053 \leq N \leq 10^5
  • −109≤Ai≤109 (1≤i≤N)-10^9 \leq A_i \leq 10^9\ (1 \leq i \leq N)
  • 输入均为整数

样例解释 1

例如,只需对 (l,r)=(2,3)(l, r) = (2, 3) 操作一次即可。

样例解释 2

企鹅君的目标已经达成。

样例解释 3

企鹅君无法达成目标。

样例解释 4

原案:penguinman

由 ChatGPT 4.1 翻译

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

首页