問題一覧 > 通常問題

No.1996 <><

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 90
作問者 : MasKoaTS / テスター : 👑 potato167 Shirotsume
4 ProblemId : 7525 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-11-28 20:03:51

問題文

長さ NN の正整数列 A=(A1,A2,,AN)A = ( A_{1}, A_{2}, \dots, A_{N} ) と、<>のみからなる長さ KK の文字列 ss が与えられます。
以下、ss の先頭から ii (1iK)(1 \leq i \leq K) 番目の文字を sis_{i} と表します。

1x1<x2<<xK+1N1 \leq x_{1} < x_{2} < \cdots < x_{K+1} \leq N を満たす整数の組 (x1,x2,,xK+1)(x_{1}, x_{2}, \dots, x_{K+1}) を選ぶ方法であって、
i=1,2,,Ki = 1, 2, \dots, K すべてに対して次の 22 つの条件をともに満たすものの個数を求めてください。

  • sis_{i}< ならば Axi<Axi+1A_{x_{i} } < A_{x_{i+1} }

  • sis_{i}> ならば Axi>Axi+1A_{x_{i} } > A_{x_{i+1} }

ただし、答えは非常に大きくなる可能性があるので、109+710^{9}+7 で割った余りを出力してください。

制約

  • 1K<N15001 \leq K < N \leq 1500

  • 1Ai1091 \leq A_{i} \leq 10^{9} (1iN)(1 \leq i \leq N)

  • NN, KK 及び AiA_{i} (1iN)(1 \leq i \leq N) はすべて整数

  • ss<>のみからなる長さ KK の文字列

入力

入力は次の形式で与えられます。

NN KK
A1A_{1} A2A_{2} \cdots ANA_{N}
ss
  • 11 行目には NN, KK がこの順に半角スペース区切りで与えられる

  • 22 行目には A1,A2,,ANA_{1}, A_{2}, \dots, A_{N} がこの順に半角スペース区切りで与えられる

  • 33 行目には ss が与えられる

出力

答えを 11 行に出力し、最後に改行してください。

サンプル

サンプル1
入力
5 3
2 3 1 1 4
<><
出力
2

条件を満たす組は (x1,x2,x3,x4)=(1,2,3,5),(1,2,4,5)(x_{1}, x_{2}, x_{3}, x_{4}) = (1,2,3,5), (1,2,4,5)22 個です。

例えば (x1,x2,x3,x4)=(1,2,4,5)(x_{1}, x_{2}, x_{3}, x_{4}) = (1,2,4,5) のとき、(A1,A2,A4,A5)=(2,3,1,4)(A_{1}, A_{2}, A_{4}, A_{5} ) = (2,3,1,4)33 個の不等式

  • 2<32 < 3

  • 3>13 > 1

  • 1<41 < 4

をすべて満たします。

サンプル2
入力
6 4
1 1 2 5 1 4
>><<
出力
0

条件を満たす整数の組は存在しません。

サンプル3
入力
20 5
13359410 197769 10910581 3 512 5732 9026607 22294 3997084 262110309 51421 728930621 353629015 49 1907 208452 13 13760365 6779710 3484117
><><<
出力
1744
サンプル4
入力
40 19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
<<<<<<<<<<<<<<<<<<<
出力
846527861

条件を満たす整数の組の個数を 109+710^{9} + 7 で割った余りを出力してください。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。