#aBC274Did342. [ABC274D] Robot Arms 2

[ABC274D] Robot Arms 2

AT_abc274_d [ABC274D] Robot Arms 2

题目描述

给定一个长度为 NN 的正整数序列 A=(A1,A2,,AN)A = (A_1, A_2, \dots, A_N),以及整数 x,yx, y
请判断是否可以在 xyxy 坐标平面上,按照下列所有条件,放置 N+1N+1 个点 p1,p2,,pN,pN+1p_1, p_2, \dots, p_N, p_{N+1}。(允许有两个或以上的点重合在同一坐标上。)

  • p1=(0,0)p_1 = (0, 0)
  • p2=(A1,0)p_2 = (A_1, 0)
  • pN+1=(x,y)p_{N+1} = (x, y)
  • pip_i 与点 pi+1p_{i+1} 之间的距离为 AiA_i1iN1 \leq i \leq N)。
  • 线段 pipi+1p_i p_{i+1} 与线段 pi+1pi+2p_{i+1} p_{i+2} 的夹角为 9090 度(1iN11 \leq i \leq N-1)。

输入格式

输入以如下格式从标准输入读入。

NN xx yy
A1A_1 A2A_2 \dots ANA_N

输出格式

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

输入输出样例 #1

输入 #1

3 -1 1
2 1 3

输出 #1

Yes

输入输出样例 #2

输入 #2

5 2 0
2 2 2 2 2

输出 #2

Yes

输入输出样例 #3

输入 #3

4 5 5
1 2 3 4

输出 #3

No

输入输出样例 #4

输入 #4

3 2 7
2 7 4

输出 #4

No

输入输出样例 #5

输入 #5

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

输出 #5

Yes

说明/提示

约束条件

  • 2N1032 \leq N \leq 10^3
  • 1Ai101 \leq A_i \leq 10
  • x,y104|x|, |y| \leq 10^4
  • 所有输入均为整数

样例解释 1

xyxy 坐标平面上,将 $p_1 = (0, 0),\ p_2 = (2, 0),\ p_3 = (2, 1),\ p_4 = (-1, 1)$ 这样放置点,满足题目所有条件。如下图所示。

样例解释 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 翻译