[ABC221G] Jumping sequence

题意翻译

有一个无限大的平面直角坐标系,初始时你在 $(0,0)$ 处。给你一个长度为 $n$ 的序列 $d$,你可以移动 $n$ 步,每一步可以选择: - 向上移动 $d_i$ 距离,从 $(x,y)$ 到 $(x,y+d_i)$ - 向下移动 $d_i$ 距离,从 $(x,y)$ 到 $(x,y-d_i)$ - 向右移动 $d_i$ 距离,从 $(x,y)$ 到 $(x+d_i,y)$ - 向左移动 $d_i$ 距离,从 $(x,y)$ 到 $(x-d_i,y)$ 你想在 $n$ 步结束后位于 $(A,B)$ 位置,问是否存在这样的方案,如果存在需输出任意一种方案。

题目描述

[problemUrl]: https://atcoder.jp/contests/abc221/tasks/abc221_g 無限に広がる $ 2 $ 次元の座標平面を考えます。 高橋君は最初 $ (0,0) $ に立っており、今から上下左右いずれかの方向を選んでジャンプすることを $ N $ 回行います。 それぞれのジャンプで移動する距離は定まっており、具体的には $ i $ 回目のジャンプでは距離 $ D_i $ を移動します。 $ N $ 回のジャンプの後で、ちょうど位置 $ (A,B) $ にいるようにすることは可能か判定し、 可能ならばそのような移動方法を $ 1 $ つ示してください。 ただし、現在の位置が $ (X,Y) $ のときに、それぞれの方向を選んで距離 $ D $ のジャンプをしたときの着地地点はそれぞれ以下の通りです。 - 上方向 : $ (X,Y)\ \to\ (X,Y+D) $ - 下方向 : $ (X,Y)\ \to\ (X,Y-D) $ - 左方向 : $ (X,Y)\ \to\ (X-D,Y) $ - 右方向 : $ (X,Y)\ \to\ (X+D,Y) $

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ A $ $ B $ $ D_1 $ $ D_2 $ $ \ldots $ $ D_N $

输出格式


条件をみたす移動方法が存在するならば `Yes` 、そうでないならば `No` を $ 1 $ 行目に出力せよ。 `Yes` の場合は $ 2 $ 行目に条件をみたす移動方法を、`U` , `D` , `L` , `R` からなる長さ $ N $ の文字列 $ S $ として出力せよ。 ただし、$ S $ の $ i $ 文字目が - `U` のとき、 $ i $ 回目のジャンプでは上方向に移動する - `D` のとき、 $ i $ 回目のジャンプでは下方向に移動する - `L` のとき、 $ i $ 回目のジャンプでは左方向に移動する - `R` のとき、 $ i $ 回目のジャンプでは右方向に移動する ことを指す。

输入输出样例

输入样例 #1

3 2 -2
1 2 3

输出样例 #1

Yes
LDR

输入样例 #2

2 1 0
1 6

输出样例 #2

No

输入样例 #3

5 6 7
1 3 5 7 9

输出样例 #3

Yes
LRLUR

说明

### 制約 - $ 1\ \leq\ N\ \leq\ 2000 $ - $ \lvert\ A\rvert,\ \lvert\ B\rvert\ \leq\ 3.6\times\ 10^6 $ - $ 1\ \leq\ D_i\ \leq\ 1800 $ - 入力は全て整数である。 ### Sample Explanation 1 $ 1 $ 回目のジャンプで左方向に、$ 2 $ 回目のジャンプで下方向に、$ 3 $ 回目のジャンプで右方向にジャンプすると、 $ (0,0)\to(-1,0)\to(-1,-2)\to(2,-2) $ と高橋君は動き、 最終的に $ (2,-2) $ に到達しているためこれは条件をみたしています。 ### Sample Explanation 2 $ 2 $ 回のジャンプの後でちょうど $ (1,0) $ にいるようにすることはできません。