atcoder#ABC286E. [ABC286E] Souvenir
[ABC286E] Souvenir
配点 : 点
問題文
個の都市があり、いくつかの相異なる都市の間は一方通行の直行便によって移動することができます。
どの直行便が存在するかは 個の長さ の文字列 によって表され、
の 文字目が Y
のとき都市 から都市 へ向かう直行便が存在することを、
N
のとき存在しないことを示します。
また、各都市ではお土産が つずつ売られており、都市 では価値 のお土産が売られています。
次のような問題を考えます。
高橋君は今都市 におり、いくつかの直行便を乗り継いで( とは異なる)都市 に向かおうとしています。 さらに、高橋君は移動する途中で訪れた都市( を含む)において つずつお土産を購入します。 都市 から都市 へ向かう経路が複数存在する時、高橋君は次のような経路で移動することを考えています。
- 都市 から 都市 に向かう経路のうち、使う直行便の数が最小である。
- さらにそのような経路のうち、購入するお土産の価値の総和が最大である。
高橋君が都市 から に直行便を乗り継いで移動することが可能か判定し、 可能な時は高橋君が上の条件をみたすように経路を選んだ時の「使用する直行便の本数」と「お土産の価値の総和」を求めよ。
相異なる都市の組 が 個与えられます。 各 について、 とした時の上記の問題の答えを出力してください。
制約
- は
Y
とN
のみからなる長さ の文字列 - の 文字目は
N
- ならば
- は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
行出力せよ。
行目には、
都市 から都市 に移動することが不可能な時は 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
の時について、都市 から都市 への直行便が存在するため、 使用する直行便としてあり得る最小の値はその直行便を使用した時の 本となります。 この時、お土産の価値の総和は となります。
の時について、使用する直行便としてあり得る最小の値は 本で、 最小値を達成する経路としては都市 と都市 の 通りが考えられます。 それぞれの経路の時のお土産の価値の総和は , なので、 高橋君は後者の経路を選び、この時お土産の価値の総和は となります。
の時について、都市 と進んだ時に使用する直行便の本数は最小となり、 この時お土産の価値の総和は となります。
2
100 100
NN
NN
1
1 2
Impossible
直行便が全く存在しないこともあります。