CF2038B.Make It Equal

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 nn 的整数数列 aa,下标从 11 到 nn。

你可以进行任意次(可以为 00 次)以下操作:选择一个满足 1≤i≤n1\le i\le n 的 ii,使 aia_i 减少 22,a(imod  n)+1a_{(i\mod n)+1} 增加 11。

现询问是否有一种操作方案,使得 a1=a2=⋯=an=pa_1=a_2=\dots=a_n=p 且 p≥0p\ge 0,若有,输出最少操作次数,否则输出 −1-1。

输入格式

本题多测。

第一行一个整数 t(1≤t≤104)t(1\le t\le 10^4),代表测试样例组数。

对于每组测试样例:

第一行一个整数 n(2≤n≤2×105)n(2\le n\le 2\times 10^5)。

第二行 nn 个整数 a1,a2,…,an(1≤ai≤109)a_1,a_2,\dots,a_n(1\le a_i\le 10^9)。

保证 ∑n≤2×105\sum n\le 2\times 10^5。

输出格式

对于每组测试样例,输出一行一个整数,代表最少操作次数,若不存在操作方案,输出 −1-1。

Translated by @ARIS2_0

输入输出样例

  • 输入#1

    3
    2
    1 1
    3
    1 3 2
    4
    2 1 2 6

    输出#1

    0
    -1
    3

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

首页