#AT2352. D - Robot Arms 2

D - Robot Arms 2

当前没有测试数据。

D - 机器人的臂2

得分:400分

问题描述

给定一个长度为$N$的由正整数构成的序列$A = (A_1, A_2, \dots, A_N)$和整数$x$和$y$。
确定是否存在可能的位置来放置$N+1$个点$p_1, p_2, \dots, p_N, p_{N+1}$在$x-y$平面上,以满足以下所有条件。 (允许将两个或多个点放置在同一坐标上)

  • $p_1 = (0, 0)$.
  • $p_2 = (A_1, 0)$.
  • $p_{N+1} = (x, y)$.
  • 点$p_i$和$p_{i+1}$之间的距离为$A_i$。 ($1 \leq i \leq N$)
  • 线段$p_i p_{i+1}$和$p_{i+1} p_{i+2}$形成一个$90$度的角。 ($1 \leq i \leq N - 1$)

约束

  • $2 \leq N \leq 10^3$
  • $1 \leq A_i \leq 10$
  • $|x|, |y| \leq 10^4$
  • 输入中的所有值都是整数。

输入

输入以如下格式从标准输入中给出:

NN xx yy

A1A_1 A2A_2 \dots ANA_N

输出

如果可以将$p_1, p_2, \dots, p_N, p_{N+1}$放置在满足问题描述中的所有条件的位置上,则输出Yes;否则输出No


3 -1 1
2 1 3
Yes

下图显示了一种放置方案,其中$p_1 = (0, 0)$,$p_2 = (2, 0)$,$p_3 = (2, 1)$和$p_4 = (-1, 1)$。满足问题描述中的所有条件。


5 2 0
2 2 2 2 2
Yes

将$p_1 = (0, 0)$,$p_2 = (2, 0)$,$p_3 = (2, 2)$,$p_4 = (0, 2)$,$p_5 = (0, 0)$和$p_6 = (2, 0)$放置在满足所有条件。注意可以将多个点放置在同一坐标上。


4 5 5
1 2 3 4
No

3 2 7
2 7 4
No

10 8 -7
6 10 4 1 5 9 8 6 5 1
Yes