AT_agc062_d.[AGC062D] Walk Around Neighborhood

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

高桥君手持一本记事本,站在二维平面上的原点 (0,0)(0,0)。记事本上写有 NN 个偶数 Di (1≤i≤N)D_i\ (1\leq i \leq N)。

接下来,高桥君将在二维平面上进行 NN 次如下操作:

  • 从记事本上选择并划去一个偶数。设选中的偶数为 dd,则他会移动到与当前位置曼哈顿距离恰好为 dd 的某个点。更准确地说,若当前坐标为 (x,y)(x, y),则他会移动到满足 ∣x−x′∣+∣y−y′∣=d|x-x'|+|y-y'|=d 的某个点 (x′,y′)(x', y')。

高桥君必须在 NN 次操作后回到原点 (0,0)(0,0)。

请判断是否存在一种操作顺序和移动方式,使得高桥君能够完成上述 NN 次操作并回到原点。如果存在,请求出所有可能方案中,ii 次操作后高桥君所在坐标为 (xi,yi)(x_i, y_i) 时,max⁡1≤i≤N(∣xi∣+∣yi∣)\displaystyle\max_{1\leq i\leq N}(|x_i|+|y_i|) 的最小值(可以证明该值为整数)。

输入格式

输入从标准输入读入,格式如下:

NN D1D_1 D2D_2 …\dots DND_N

输出格式

如果无法完成 NN 次操作并回到原点,输出 -1。

如果可以,请输出 max⁡1≤i≤N(∣xi∣+∣yi∣)\displaystyle\max_{1\leq i\leq N}(|x_i|+|y_i|) 的最小值(输出一个整数)。

输入输出样例

  • 输入#1

    3
    2 4 6

    输出#1

    4
  • 输入#2

    5
    2 2 2 2 6

    输出#2

    3
  • 输入#3

    2
    2 200000

    输出#3

    -1

说明/提示

限制条件

  • 1≤N≤2×1051\leq N\leq 2\times 10^5
  • 2≤Di≤2×1052\leq D_i\leq 2\times 10^5
  • DiD_i(1≤i≤N1\leq i\leq N)均为偶数
  • 所有输入均为整数

样例解释 1

高桥君依次选择 2,6,42,6,4 并划去,移动路径为 (0,0)→(0,2)→(−4,0)→(0,0)(0,0)\rightarrow (0,2)\rightarrow (-4,0)\rightarrow (0,0),此时 max⁡1≤i≤N(∣xi∣+∣yi∣)\displaystyle\max_{1\leq i\leq N}(|x_i|+|y_i|) 为 44,且这是最小值。

样例解释 2

高桥君依次选择 2,2,6,2,22,2,6,2,2 并划去,移动路径为 (0,0)→(12,32)→(0,3)→(0,−3)→(−12,−32)→(0,0)(0,0)\rightarrow (\frac{1}{2},\frac{3}{2})\rightarrow (0,3)\rightarrow (0,-3)\rightarrow (-\frac{1}{2},-\frac{3}{2})\rightarrow (0,0),此时 max⁡1≤i≤N(∣xi∣+∣yi∣)\displaystyle\max_{1\leq i\leq N}(|x_i|+|y_i|) 为 33,且这是最小值。高桥君可以移动到非格点的位置。

样例解释 3

高桥君无法在 NN 次操作后回到原点。

由 ChatGPT 4.1 翻译

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

首页