题目描述
考虑一个无限扩展的二维坐标平面。高桥君最初站在 (0,0),接下来他将进行 N 次跳跃,每次可以选择向上、下、左、右中的任意一个方向跳跃。每次跳跃的距离是确定的,具体来说,第 i 次跳跃的距离为 Di。请判断在 N 次跳跃后,是否有可能恰好到达位置 (A,B),如果可能,请给出一种满足条件的移动方案。
具体地,当当前位置为 (X,Y) 时,选择某个方向并以距离 D 跳跃后,落点如下:
- 向上:(X,Y)→(X,Y+D)
- 向下:(X,Y)→(X,Y−D)
- 向左:(X,Y)→(X−D,Y)
- 向右:(X,Y)→(X+D,Y)
输入格式
输入从标准输入读入,格式如下:
N A B D1 D2 … DN
输出格式
如果存在满足条件的移动方案,则在第 1 行输出 Yes
,否则输出 No
。
输入输出样例 #1
输入 #1
3 2 -2
1 2 3
输出 #1
Yes
输入输出样例 #2
输入 #2
2 1 0
1 6
输出 #2
No
输入输出样例 #3
输入 #3
5 6 7
1 3 5 7 9
输出 #3
Yes
说明/提示
数据范围
- 1≤N≤2000
- ∣A∣,∣B∣≤3.5×106
- 1≤Di≤1800
- 输入均为整数。
- 存在 50 数据保证∑i=1i=NDi+∣A∣+∣B∣≤104
样例解释 1
第 1 次跳跃向左,第 2 次跳跃向下,第 3 次跳跃向右,则高桥君的移动为 (0,0)→(−1,0)→(−1,−2)→(2,−2),最终到达 (2,−2),满足条件。
样例解释 2
经过 2 次跳跃后,无法恰好到达 (1,0)。