#P17294. [ICPC 2026 Xi'an I] North and South

    ID: 19704 远端评测题 1000ms 512MiB 尝试: 2 已通过: 0 显示难度普及+/提高− 上传者: 标签>贪心差分ICPC2026省赛/邀请赛西安

[ICPC 2026 Xi'an I] North and South

题目描述

Yuki 有一个长度为 nn 的序列 aa

Yuki 定义一次操作为:

  • 选择一个 长度为偶数 的区间 [l,r][l,r]。对于每个满足 lirl \le i \le r 的正整数 ii
    • ili-l 为奇数,则 aia_i 的值减少 11,即 aiai1a_i \gets a_i-1
    • ili-l 为偶数,则 aia_i 的值增加 11,即 aiai+1a_i \gets a_i+1

现在,Yuki 想进行若干次操作,使得序列 aa 中的所有数均相等。你需要帮助 Yuki 求出,使序列 aa 中的所有数均相等的最小操作次数,或报告无解。

输入格式

本题包含多组测试数据。

第一行包含一个正整数 tt (1t105)(1 \le t \le 10^5),表示测试数据组数。

对于每组测试数据:

  • 第一行包含一个正整数 nn (1n106)(1 \le n \le 10^6)
  • 第二行包含 nn 个整数 a1,,ana_1,\dots,a_n (0ai1012)(0 \le a_i \le 10^{12})

保证所有测试数据中 nn 的总和不超过 10610^6

输出格式

对于每组测试数据,输出一行:

  • 若无解,则输出一个整数 1-1
  • 若有解,则输出一个整数,表示使序列 aa 中的所有数均相等的最小操作次数。
3
2
1 3
4
1 5 1 5
5
1 3 1 3 1
1
2
-1

提示

对于第 11 组测试数据:

  • 11 次操作选择区间 [1,2][1,2] 进行操作,原序列变为 2,22,2,此时所有数都相同。
  • 可以证明,不存在操作次数更少的操作方案,因此答案为 11

对于第 22 组测试数据:

  • 11 次操作选择区间 [1,4][1,4] 进行操作,原序列变为 2,4,2,42,4,2,4
  • 22 次操作选择区间 [1,4][1,4] 进行操作,原序列变为 3,3,3,33,3,3,3,此时所有数都相同。
  • 可以证明,不存在操作次数更少的操作方案,因此答案为 22

对于第 33 组测试数据:

  • 容易证明该序列在任意次操作内都无法使得所有数均相等,故无解。