题目描述
長さ N の文字列 S があります。S の各文字は <
または >
です。
要素数 N+1 の非負整数列 X0,X1,…,XN は、すべての 1 ≤ i ≤ N について次の条件を満たすとき 良い非負整数列 と呼ばれます。
- Si が
<
のとき : Xi−1 < Xi
- Si が
>
のとき : Xi−1 > Xi
良い非負整数列 A が与えられるので、この数列をできるだけ多くの良い非負整数列に分解してください。 つまり、正の整数 k および k 個の良い非負整数列 B1,B2,…, Bk であって、次の条件を満たすもののうち、 k が最大のものを 1 つ求めてください。
- すべての 0 ≤ i ≤ N について B1,…,Bk の i 項目の値の合計は Ai と等しい。
输入格式
入力は以下の形式で標準入力から与えられる。
N S A0 A1 ⋯ AN
输出格式
以下の形式で、標準出力に出力せよ。
k B1,0 B1,1 ⋯ B1,N : Bk,0 Bk,1 ⋯ Bk,N
ここで、Bi,j は良い非負整数列 Bi の j 項目の値を表している。
题目大意
给定长为 n 的字符串 S,其由 <
与 >
组成。
我们称一个长度为 n+1 的非负整数序列 x=(x0,x1,…,xn) 是好的,当且仅当对于任意 1≤i≤n,有:
- 若 Si 为
<
,则 xi−1<xi;
- 若 Si 为
>
,则 xi−1>xi;
给定一个好的非负整数序列 A,你需要将其拆分为尽可能多的好的非负整数序列。具体地说,你需要找到正整数 k 以及 k 个好的非负整数序列 B1,B2,…,Bk,满足对于任意 0≤i≤n,∑j=1kBj,i=Ai。
你需要最大化 k 的值。输出这个值,以及你所构造的 k 个长度为 n+1 的串。
如果有多组解,输出任意一组即可。
1≤n≤100,0≤ai≤104。
3
<><
3 8 6 10
2
1 5 4 7
2 3 2 3
提示
制約
- 1 ≤ N ≤ 100
- 0 ≤ Ai ≤ 104
- S は
<
と >
からなる長さ N の文字列である。
- A は良い非負整数列である。特に、要素数は N+1 である。