2100 年時,人類近乎被 AI 取代了,連資奧都只剩 AI 在打。2100 年的 TOI 選訓營有非常多 AI 機器人在比賽,因為機器人都長得一樣,所以每個機器人都有一個自己的身分證字號來做區別。因為是機器人,所以這些身分證字號都是長度不等的 01 字串(只由 0 和 1 組成的字串)。其中,總共有 $n$ 個身分證字號,因為給身分證字號的程式寫爛了,所以會有很多機器人有同樣的身分證字號:對於第 $i$ 個身分證字號來說,有 $c_i$ 個機器人的身分證字號是它(因為程式真的很爛,所以那 $n$ 個身分證字號自己也有可能重複)。
作為 TOI 的主辦人,你不想要認錯任何機器人。對於任何兩個機器人,你都不希望其中一個人的身分證字號剛好是另一個人身分證字號的前綴。具體來說,如果身分證字號較短的機器人為 $A$( $A$ 的長度為 $len$ ),另一個機器人為 $B$,那你不希望 $B$ 的前 $len$ 個字元都跟 $A$ 一樣。
你想要在某些機器人的身分證字號後面加上一些字元,使得這件事情不發生。在一秒鐘中,你可以選一個機器人,並把他的身分證字號尾巴加上 0 或 1。請寫一個程式,算出你最少要花多少秒,才能達到你的目的。
第一行有一個正整數 $n$ ,意義如題目所述
接下來 $n$ 行中,每行有一個字串 $s_i$ 跟一個正整數 $c_i$,代表第 $i$ 個身分證字號跟它的出現次數
對於所有測試資料:
輸出一個整數,代表你最少要花的時間
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~3 | 範例測資 | 0 |
2 | 0, 4~6 | $\forall 1 \leq i \leq n$,$s_i=0$ 或 $s_i=1$,$c_i=1$ | 10 |
3 | 0~4, 7~14 | $n \leq 100$,所有字串長度和不超過 $1000$,$c_i=1$ | 20 |
4 | 0~4, 15~24 | $c_i=1$ | 30 |
5 | 0~49 | 無特別限制 | 40 |