AT_agc053_a [AGC053A] >< again
Description
[problemUrl]: https://atcoder.jp/contests/agc053/tasks/agc053_a
長さ $ N $ の文字列 $ S $ があります。$ S $ の各文字は `` です。
要素数 $ N+1 $ の非負整数列 $ X_0,X_1,\ldots,X_N $ は、すべての $ 1\ \leq\ i\ \leq\ N $ について次の条件を満たすとき *良い非負整数列* と呼ばれます。
- $ S_i $ が `\ X_i $
良い非負整数列 $ A $ が与えられるので、この数列をできるだけ多くの良い非負整数列に分解してください。 つまり、正の整数 $ k $ および $ k $ 個の良い非負整数列 $ B_1,B_2,\ldots,\ B_k $ であって、次の条件を満たすもののうち、 $ k $ が最大のものを $ 1 $ つ求めてください。
- すべての $ 0\ \leq\ i\ \leq\ N $ について $ B_1,\ldots,B_k $ の $ i $ 項目の値の合計は $ A_i $ と等しい。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S $ $ A_0 $ $ A_1 $ $ \cdots $ $ A_N $
Output Format
以下の形式で、標準出力に出力せよ。
> $ k $ $ B_{1,0} $ $ B_{1,1} $ $ \cdots $ $ B_{1,N} $ $ : $ $ B_{k,0} $ $ B_{k,1} $ $ \cdots $ $ B_{k,N} $
ここで、$ B_{i,j} $ は良い非負整数列 $ B_i $ の $ j $ 項目の値を表している。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 100 $
- $ 0\ \leq\ A_i\ \leq\ 10^4 $
- $ S $ は `` からなる長さ $ N $ の文字列である。
- $ A $ は良い非負整数列である。特に、要素数は $ N+1 $ である。