AT_abc274_d [ABC274D] Robot Arms 2

题目描述

给定一个长度为 $N$ 的正整数序列 $A = (A_1, A_2, \dots, A_N)$,以及整数 $x, y$。 请判断是否可以在 $xy$ 坐标平面上,按照下列所有条件,放置 $N+1$ 个点 $p_1, p_2, \dots, p_N, p_{N+1}$。(允许有两个或以上的点重合在同一坐标上。) - $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$)。

输入格式

输入以如下格式从标准输入读入。 > $N$ $x$ $y$ > $A_1$ $A_2$ $\dots$ $A_N$

输出格式

如果存在一种方式可以放置 $p_1, p_2, \dots, p_N, p_{N+1}$,使其满足所有条件,则输出 `Yes`,否则输出 `No`。

说明/提示

## 约束条件 - $2 \leq N \leq 10^3$ - $1 \leq A_i \leq 10$ - $|x|, |y| \leq 10^4$ - 所有输入均为整数 ## 样例解释 1 在 $xy$ 坐标平面上,将 $p_1 = (0, 0),\ p_2 = (2, 0),\ p_3 = (2, 1),\ p_4 = (-1, 1)$ 这样放置点,满足题目所有条件。如下图所示。 ![](https://img.atcoder.jp/ghi/9e66a2e8cd081f011d3baba22dbe64fa.jpg) ## 样例解释 2 将 $p_1 = (0, 0),\ p_2 = (2, 0),\ p_3 = (2, 2),\ p_4 = (0, 2),\ p_5 = (0, 0),\ p_6 = (2, 0)$ 这样放置点,也能满足题目所有条件。注意可以有多个点重合在同一坐标上。 由 ChatGPT 4.1 翻译