定义 “好数”是十进制表示中恰有一个非零位的正整数,即形如 d×10k(d∈[1,9],k≥0),例如 7,40,3000。
分解与独立性 对不同下标的元素操作互不影响,所以总答案是各元素独立变成好数的最小代价之和。问题归约为:给定一个正整数 x,用如下操作的最少次数把它变成好数:
小美定义一个正整数 x 是 好的,当且仅当其十进制表示中仅包含一个非零有效位,例如 4000、9、20 都是好的数,而 110、301、6666 不是好的数,非正整数也不是好的数;
给定一个长度为 n 的正整数数组 {a1,a2,...,an},你可以对数组执行若干次以下三种操作中的一种:
选择一个索引 i ,将 ai 增加 1 ;
选择一个索引 i ,如果 a>1,则将 ai 减少 1 ;
选择一个素引 i ,如果 ai 是 10 的整数倍,则将 ai 除以 10 ,否则该操作无效;
输出将数组中所有元素都变为好的数所需的最少操作次数。
第一行输入一个整数 n(1≤n≤2×105) ,表示数组的长度;
第二行输入 n 个整数 a1,a2,...,an(1≦ai≦n) ,表示数组的初始元素。
输出一个整数,表示将数组中所有元素都变为好的数的最少操作次数。
输入
3
1 2 3
输出
0
输入
11
11 1 1 1 4 5 6 7 8 9 10
输出
1
说明
将 11 减一得 10 ;