题目描述
给定一个长度为 N 的正整数序列 A=(A1,A2,…,AN),以及两个整数 x,y。
请判断是否能在平面直角坐标系中放置 N+1 个点 p1,p2,…,pN+1,使得:
- p1=(0,0);
- p2=(A1,0);
- pN+1=(x,y);
- 对所有 1≤i≤N,pi 与 pi+1 之间的距离等于 Ai;
- 对所有 1≤i≤N−1,线段 pipi+1 与 pi+1pi+2 的夹角为 90∘。
允许两个或多个点位于相同的坐标。
输入格式
第一行包含三个整数 N,x,y。
第二行包含 N 个整数 A1,A2,…,AN。
输出格式
如果存在满足条件的放置方案,输出 Yes;否则输出 No。
样例 1
输入
3 -1 1
2 1 3
输出
Yes
说明
可以依次放置在 (0,0),(2,0),(2,1),(−1,1),如下图所示。

样例 2
输入
5 2 0
2 2 2 2 2
输出
Yes
说明
可以依次放置在 (0,0),(2,0),(2,2),(0,2),(0,0),(2,0)。多个点可以位于相同坐标。
样例 3
输入
4 5 5
1 2 3 4
输出
No
样例 4
输入
3 2 7
2 7 4
输出
No
样例 5
输入
10 8 -7
6 10 4 1 5 9 8 6 5 1
输出
Yes
数据范围
2≤N≤1000,1≤Ai≤10,∣x∣,∣y∣≤10000。所有输入均为整数。
来源
AtCoder ABC274D