atcoder#DDCC2020QUALD. Digit Sum Replace
Digit Sum Replace
题目描述
DDCC 20XX の予選には, 人のプログラマーが参加する予定です.しかし,会場の都合上,本戦には 人までしか参加できません.
そこで,予選を何ラウンドかに分けて勝ち抜き方式で行うことにしました.これは,以下のルールに従って行われます.
- 最初のラウンドには 人全員が参加する.
- あるラウンドに 人が参加するとき,次のラウンドに勝ち残る人数を以下のように決定する.
- の十進表記において,ある連続する 桁を選び,それらをその和で置き換えて得られる数を勝ち残る人数とする.
例えば, のとき,勝ち残る人数は ( を選んだ場合), ( を選んだ場合), ( を選んだ場合) 人のいずれかとなる.
のときは,どちらの 桁を選んだとしても勝ち残る人数は 人となる.
- の十進表記において,ある連続する 桁を選び,それらをその和で置き換えて得られる数を勝ち残る人数とする.
- 勝ち残った人数が 人以下となったら,予選を終了する.
DDCC 20XX の運営リーダーであるりんごさんは,できるだけ多くの予選ラウンドを開催したいです.
最大で何ラウンドの予選を開催できるか求めてください.
ただし,参加者数 は非常に多くなる場合があるので, つの整数列 , として与えられます.
これは, が十進表記において 桁の数であり,その先頭の 桁の数字がいずれも ,続く 桁の数字がいずれも ,,最後の 桁の数字がいずれも であることを表します.
输入格式
入力は以下の形式で標準入力から与えられます.
输出格式
予選ラウンドの数の最大値を出力してください.
题目大意
有 名选手参加了 DDCC 20XX 初赛,但最多只能有 名选手参加复赛。
初赛分许多轮,每一轮的规则是:
- 第一轮比赛所有 名选手都要参加。
- 每一轮比赛剩余选手按以下规则制定:
- 设剩余 名选手,在 的十进制形式中选择相邻两位,将它们删去,并在删去的位置上插入它们的和。比如, 在选择百位和千位时会变为 ,选择十位和百位会变成 ,选择个位和十位会变成 。 无论选择哪两位都会变成 。
- 当 时循环终止。
给定 ,求最多可以举行几轮比赛。
因为 太大,所以给定两个序列 和 , 意思是 有 为,它的前 位都是 ,之后的 位都是 ,以此类推。
2
2 2
9 1
3
3
1 1
0 8
7 1
9
提示
制約
Sample Explanation 1
この場合,予選の最初のラウンドには 人が参加します.大会の経過の一例として、次のパターンがありえます. - ラウンド に 人が参加し,ラウンド に 人が参加し,ラウンド に 人が参加し,本戦に 人が進出する. このとき,予選は ラウンド行われ、これが実は最適であることが分かります。
Sample Explanation 2
この場合,最初のラウンドには 人が参加します.