#P11188. 「KDOI-10」商店砍价

    ID: 10191 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>2024洛谷原创O2优化洛谷月赛

「KDOI-10」商店砍价

题目背景

您可以点击 这里 下载本场比赛的选手文件。

密码:rAnHoUyaSuoBaoMimaNijuEdefAngsHa2)2$1)0(2@0!

本场比赛所有题目从标准输入读入数据,输出到标准输出。

题目描述

有一个正整数 nn,保证其只由数字 191\sim 9 构成。

你可以做任意多次如下操作:

  • 选择 nn 的一个数位 xx,花费 vxv_x 的代价删除它,注意,此时 nn 的数位个数会减少 11nn 的值也会发生相应的变化;
  • 或者,花费 nn 的代价把剩余的所有数位删除。

求把整个数删除的最小代价。

输入格式

从标准输入读入数据。

本题有多组测试数据。

输入的第一行包含一个正整数 cc,表示测试点编号。c=0c=0 表示该测试点为样例。

第二行包含一个正整数 tt,表示测试数据组数。

对于每组测试数据:

  • 第一行一个正整数 nn,表示这个数的初始值。
  • 第二行九个正整数 v1,v2,,v9v_1,v_2,\dots,v_9,表示删除每个数位的代价。

输出格式

输出到标准输出。

对于每组测试数据:

  • 输出一行一个正整数,表示最小代价。
0
3
123
10 10 10 10 10 10 10 10 10 
1121
2 1 2 2 2 2 2 2 2
987654321
1 2 3 4 5 6 7 8 9

21
6
45

提示

【样例 1 解释】

对于第一组测试数据,最优操作方案如下:

  • 删除数位 22,代价为 1010,此时 nn 变为 1313
  • 删除数位 33,代价为 1010,此时 nn 变为 11
  • 删除 nn 的剩余所有数位,代价为 11

总代价为 10+10+1=2110+10+1=21,可以证明,这是代价的最小值。

对于第二组测试数据,一种最优操作方案如下:

  • 删除第一个数位 11,代价为 22,此时 nn 变为 121121
  • 删除最后一个数位 11,代价为 22,此时 nn 变为 1212
  • 删除数位 22,代价为 11,此时 nn 变为 11
  • 删除 nn 的剩余所有数位,代价为 11

总代价为 2+2+1+1=62+2+1+1=6

【样例 2】

见选手目录下的 bargain/bargain2.inbargain/bargain2.ans

这个样例满足测试点 363\sim 6 的约束条件。

【样例 3】

见选手目录下的 bargain/bargain3.inbargain/bargain3.ans

这个样例满足测试点 1111 的约束条件。

【样例 4】

见选手目录下的 bargain/bargain4.inbargain/bargain4.ans

这个样例满足测试点 17,1817,18 的约束条件。

【样例 5】

见选手目录下的 bargain/bargain5.inbargain/bargain5.ans

这个样例满足测试点 232523\sim 25 的约束条件。


【数据范围】

对于全部的测试数据,保证:

  • 1t101\le t\le 10
  • 1n<101051\le n< 10^{10^5}
  • 对于任意 1i91\le i\le 91vi1051\le v_i\le 10^5
  • nn 由数字 191\sim 9 构成。
测试点 n<n< viv_i\le 特殊性质
11 100100 10510^5
22 10310^3
363\sim 6 101810^{18}
797\sim 9 104010^{40}
1010 1010510^{10^5} nn 由至多一种数字构成
1111 nn 由至多两种数字构成
12,1312,13 nn 由至多三种数字构成
141614\sim 16 1010310^{10^3} v1=v2=v3==v9v_1=v_2=v_3=\dots =v_9
17,1817,18 1010510^{10^5}
19,2019,20 1010010^{100} 100100
21,2221,22 1010310^{10^3} 10310^3
232523\sim 25 1010510^{10^5} 10510^5