atcoder#ABC286E. [ABC286E] Souvenir

[ABC286E] Souvenir

配点 : 500500

問題文

NN 個の都市があり、いくつかの相異なる都市の間は一方通行の直行便によって移動することができます。 どの直行便が存在するかは NN 個の長さ NN の文字列 S1,S2,,SNS_1,S_2,\ldots,S_N によって表され、 SiS_ijj 文字目が Y のとき都市 ii から都市 jj へ向かう直行便が存在することを、 N のとき存在しないことを示します。 また、各都市ではお土産が 11 つずつ売られており、都市 ii では価値 AiA_i のお土産が売られています。

次のような問題を考えます。

高橋君は今都市 SS におり、いくつかの直行便を乗り継いで(SS とは異なる)都市 TT に向かおうとしています。 さらに、高橋君は移動する途中で訪れた都市(S,TS,T を含む)において 11 つずつお土産を購入します。 都市 SS から都市 TT へ向かう経路が複数存在する時、高橋君は次のような経路で移動することを考えています。

  • 都市 SS から 都市 TT に向かう経路のうち、使う直行便の数が最小である。
  • さらにそのような経路のうち、購入するお土産の価値の総和が最大である。

高橋君が都市 SS から TT に直行便を乗り継いで移動することが可能か判定し、 可能な時は高橋君が上の条件をみたすように経路を選んだ時の「使用する直行便の本数」と「お土産の価値の総和」を求めよ。

相異なる都市の組 (Ui,Vi)(U_i,V_i)QQ 個与えられます。 各 1iQ1\leq i\leq Q について、S=Ui,T=ViS=U_i, T=V_i とした時の上記の問題の答えを出力してください。

制約

  • 2N3002 \leq N \leq 300
  • 1Ai1091\leq A_i\leq 10^9
  • SiS_iYN のみからなる長さ NN の文字列
  • SiS_iii 文字目は N
  • 1QN(N1)1\leq Q\leq N(N-1)
  • 1Ui,ViN1\leq U_i,V_i\leq N
  • UiViU_i\neq V_i
  • iji\neq j ならば (Ui,Vi)(Uj,VJ)(U_i,V_i)\neq (U_j,V_J)
  • N,Ai,Q,Ui,ViN,A_i,Q,U_i,V_i は全て整数

入力

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

NN

A1A_1 A2A_2 \ldots ANA_N

S1S_1

S2S_2

\vdots

SNS_N

QQ

U1U_1 V1V_1

U2U_2 V2V_2

\vdots

UQU_Q VQV_Q

出力

QQ 行出力せよ。 ii (1iQ)(1\leq i\leq Q) 行目には、 都市 UiU_i から都市 ViV_i に移動することが不可能な時は Impossible を、 可能な時は上記のように経路を選んだ時の「使用する直行便の本数」と「お土産の価値の総和」をこの順に空白区切りで出力せよ。

5
30 50 70 20 60
NYYNN
NNYNN
NNNYY
YNNNN
YNNNN
3
1 3
3 1
4 5
1 100
2 160
3 180

(S,T)=(U1,V1)=(1,3)(S,T)=(U_1,V_1)=(1,3) の時について、都市 11 から都市 33 への直行便が存在するため、 使用する直行便としてあり得る最小の値はその直行便を使用した時の 11 本となります。 この時、お土産の価値の総和は A1+A3=30+70=100A_1+A_3=30+70=100 となります。

(S,T)=(U2,V2)=(3,1)(S,T)=(U_2,V_2)=(3,1) の時について、使用する直行便としてあり得る最小の値は 22 本で、 最小値を達成する経路としては都市 3413\to 4\to 1 と都市 3513\to 5\to 122 通りが考えられます。 それぞれの経路の時のお土産の価値の総和は 70+20+30=12070+20+30=120, 70+60+30=16070+60+30=160 なので、 高橋君は後者の経路を選び、この時お土産の価値の総和は 160160 となります。

(S,T)=(U3,V3)=(4,5)(S,T)=(U_3,V_3)=(4,5) の時について、都市 41354\to 1\to 3\to 5 と進んだ時に使用する直行便の本数は最小となり、 この時お土産の価値の総和は 20+30+70+60=18020+30+70+60=180 となります。

2
100 100
NN
NN
1
1 2
Impossible

直行便が全く存在しないこともあります。