Time-2 - GET INTEGERS

2 secs 1024 MB
matcharate12's icon matcharate12

AC報酬: 33 ラテコイン

Story

🌊

matcharate君は無限に広いプールで遊んでました。ここのプールの監視員であるwatchrate君は、今日もプールの安全を見守っています。
するとwatchrate君はプールで遊んでいる人たちにこう報告してきました。

「今からプールになんか数字が書かれたコインをたくさん落としまーす!なので、全員所定の位置に移動して、そこの位置から拾ったコインを最大まで集めた人が、賞金を差し上げます!!」

matcharate君はwatchrate君がどんな心広い人か、そして意味わからない人かを認識することができたようです。

問題

無限に広いプールに、matcharate君が座標 (0,0)(0,0) に立っています。
matcharate君は今から NN 回の移動を行いますが、それは U, R, L, D からなる長さ NN の文字列 SS で表されます。
そのうち SSi (1iN)i\ (1\le i\le N) 文字目 SiS_iii 回目の移動を表し、SiS_i の文字によって以下のようにプールを移動します。ただし (x,y)(x,y) は今いるmatcharate君の座標を表します。

  • Si=S_i= U のとき: 座標 (x,y)(x,y) から (x,y+1)(x,y+1) に移動する
  • Si=S_i= R のとき: 座標 (x,y)(x,y) から (x+1,y)(x+1,y) に移動する
  • Si=S_i= L のとき: 座標 (x,y)(x,y) から (x1,y)(x-1,y) に移動する
  • Si=S_i= D のとき: 座標 (x,y)(x,y) から (x,y1)(x,y-1) に移動する

また座標 (x,y)(x,y) には整数 Xx,y=Ax2+By+CX_{x,y}=Ax^2+By+C が書かれたコインが置かれてあり、matcharate君は移動毎にそのコインを集めていきます。
ここで、既に訪れた座標にもう一度移動したとしてもコインを集めます。また (0,0)(0,0) にあるコインも集めることに注意してください。

-Mission-
このとき、各移動毎に集めたコインにおいて、そのコインに書かれた整数の和の最大値としてあり得る値はいくつか。報告せよ。
すなわち 0,1,2,...,k0,1,2,...,k 回目の移動で集めたコインに書かれた整数 c0,c1,...,ckc_0,c_1,...,c_k において Xk=c0+c1+...+ckX_k=c_0+c_1+...+c_k とするとき、max(X0,X1,...,XN)\max(X_0,X_1,...,X_N) を求めよ。

入力

入力は以下の形式で与えられる。

NN
AABBCC
SS

制約

  • 1N1051\le N\le 10^5
  • A,B,C100|A|,|B|,|C|\le 100
  • SSU, R, L, D からなる長さ NN の文字列
  • N,A,B,CN,A,B,C は整数

出力

答えを出力せよ。

入出力例

入力例1
3
1 2 3
URL
出力例1
19

(0,0),(0,1),(1,1),(0,1)(0,0),(0,1),(1,1),(0,1) の順に移動します。(0,0),(0,1),(1,1)(0,0),(0,1),(1,1) には以下のような整数が書かれたコインを集めます。

  • (0,0)(0,0) : X0,0=1×02+2×0+3=3X_{0,0}=1\times 0^2+2\times 0+3=3
  • (0,1)(0,1) : X0,1=1×02+2×1+3=2+3=5X_{0,1}=1\times 0^2+2\times 1+3=2+3=5
  • (1,1)(1,1) : X1,1=1×12+2×1+3=1+2+3=6X_{1,1}=1\times 1^2+2\times 1+3=1+2+3=6

よって集めたコインに書かれた整数はそれぞれ 3,5,6,53,5,6,5 となり、その和は 1919 です。この 33 回の移動において 1919 以上になることはありません。

入力例2
1
1 4 3
D
出力例2
3

(0,0),(0,1),(0,0)(0,0),(0,-1),(0,0) の順に移動します。(0,0),(0,1)(0,0),(0,-1) には以下のような整数が書かれています。

  • (0,0)(0,0) : X0,0=1×02+4×0+3=3X_{0,0}=1\times 0^2+4\times 0+3=3
  • (0,1)(0,-1) : X0,1=1×02+4×(1)+3=(4)+3=1X_{0,1}=1\times 0^2+4\times (-1)+3=(-4)+3=-1

ここで移動前に集めたコインに書かれている整数 {3}\{3\} の和は 33 ですが、11 回目の移動後で {3,1}\{3,-1\} となり、和は 22 となります。
移動前に集めたコインに書かれた整数の和が最大値となるので、33 を出力します。

入力例3
4
0 0 0
URLD
出力例3
0

どれだけ移動しても最大値が変動しないこともあります。

入力例4
15
3 -5 4
URURULDRURDLULL
出力例4
49

Submit


Go (1.21)