题目描述
長さ N の正整数列 A = (A1, A2, …, AN) および整数 x, y が与えられます。
次の条件をすべて満たすように、xy 座標平面上に N+1 個の点 p1, p2, …, pN, pN+1 を配置することができるか判定してください。(同じ座標に 2 個以上の点を配置してもよいです。)
- p1 = (0, 0)
- p2 = (A1, 0)
- pN+1 = (x, y)
- 点 pi と点 pi+1 の距離は Ai (1 ≤ i ≤ N)
- 線分 pi pi+1 と線分 pi+1 pi+2 のなす角は 90 度 (1 ≤ i ≤ N − 1)
输入格式
入力は以下の形式で標準入力から与えられる。
N x y A1 A2 … AN
输出格式
問題文の条件をすべて満たすように p1, p2, …, pN, pN+1 を配置することができる場合は Yes
を、そうでない場合は No
を出力せよ。
题目大意
给你一个数列 A=(A1,A2,...,An),和两个整数 x,y。
你需要在平面直角坐标系上放置 N+1 个点 P1,P2,...,Pn,满足以下要求:
-
P1=(0,0)。
-
P2=(A1,0)。
-
Pn+1=(x,y)。
-
对于 i=1,2,...,N,满足 Pi 和 Pi+1 之间的距离为 Ai。
-
对于 i=1,2,...,N−1,满足两条线段 PiPi+1 和 Pi+1Pi+2 互相垂直。
求有没有一种合法的放置方式。
3 -1 1
2 1 3
Yes
5 2 0
2 2 2 2 2
Yes
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
提示
制約
- 2 ≤ N ≤ 103
- 1 ≤ Ai ≤ 10
- ∣x∣, ∣y∣ ≤ 104
- 入力される値はすべて整数
Sample Explanation 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)
Sample Explanation 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) $ とすれば問題文の条件をすべて満たすことができます。同じ座標に複数の点を置いてもよいのに注意してください。