#24. 跳跃

跳跃

题目描述

考虑一个无限扩展的二维坐标平面。高桥君最初站在 (0,0)(0,0),接下来他将进行 NN 次跳跃,每次可以选择向上、下、左、右中的任意一个方向跳跃。每次跳跃的距离是确定的,具体来说,第 ii 次跳跃的距离为 DiD_i。请判断在 NN 次跳跃后,是否有可能恰好到达位置 (A,B)(A,B),如果可能,请给出一种满足条件的移动方案。

具体地,当当前位置为 (X,Y)(X,Y) 时,选择某个方向并以距离 DD 跳跃后,落点如下:

  • 向上:(X,Y)(X,Y+D)(X,Y)\to(X,Y+D)
  • 向下:(X,Y)(X,YD)(X,Y)\to(X,Y-D)
  • 向左:(X,Y)(XD,Y)(X,Y)\to(X-D,Y)
  • 向右:(X,Y)(X+D,Y)(X,Y)\to(X+D,Y)

输入格式

输入从标准输入读入,格式如下:

NN AA BB D1D_1 D2D_2 \ldots DND_N

输出格式

如果存在满足条件的移动方案,则在第 11 行输出 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

说明/提示

数据范围

  • 1N20001\leq N\leq 2000
  • A,B3.5×106|A|, |B| \leq 3.5\times 10^6
  • 1Di18001\leq D_i\leq 1800
  • 输入均为整数。
  • 存在 5050% 数据保证i=1i=NDi+A+B104\sum_{i=1}^{i=N}Di + |A| + |B| \leq 10^4

样例解释 1

11 次跳跃向左,第 22 次跳跃向下,第 33 次跳跃向右,则高桥君的移动为 (0,0)(1,0)(1,2)(2,2)(0,0)\to(-1,0)\to(-1,-2)\to(2,-2),最终到达 (2,2)(2,-2),满足条件。

样例解释 2

经过 22 次跳跃后,无法恰好到达 (1,0)(1,0)