AT_abc377_g [ABC377G] Edit to Match
Description
[problemUrl]: https://atcoder.jp/contests/abc377/tasks/abc377_g
$ N $ 個の文字列 $ S_1,S_2,\ldots,S_N $ が与えられます。各文字列は英小文字からなります。
$ k=1,2,\ldots,N $ に対し以下の問題を解いてください。
> $ T=S_k $ として、 $ T $ に対して以下の $ 2 $ 種類の操作を好きな順番で好きな回数繰り返すことを考える。
>
> - コストを $ 1 $ 払い、 $ T $ の末尾の文字を削除する。この操作は $ T $ が空文字列でない時に可能である。
> - コストを $ 1 $ 払い、 $ T $ の末尾に好きな英小文字を追加する。
>
> $ T $ を空文字列、 $ S_1,S_2,\ldots,S_{k-1} $ のいずれかと一致させるために払うコストの総和の最小値を求めよ。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S_1 $ $ S_2 $ $ \vdots $ $ S_N $
Output Format
$ N $ 行出力せよ。 $ i $ 行目 $ (1\le\ i\le\ N) $ には $ k=i $ に対する答えを出力せよ。
Explanation/Hint
### 制約
- $ 1\le\ N\le\ 2\times\ 10^5 $
- $ S_i $ は英小文字からなる長さ $ 1 $ 以上の文字列
- $ \displaystyle\ \sum_{i=1}^N\ |S_i|\le\ 2\times\ 10^5 $
### Sample Explanation 1
$ k=1 $ の場合は末尾の文字を削除する操作を $ 5 $ 回行うことで空文字列にすることができます。 $ k=2 $ の場合は末尾の文字を削除した後に末尾に `e` を追加することで $ S_1 $ と一致させることができます。 $ k=3 $ の場合は末尾の文字を $ 2 $ 回削除した後末尾に `k` を追加し、末尾に `i` を追加することで $ S_2 $ と一致させることができます。