题目描述
给定 n 个正整数 a1,a2,…,an。对每个数,你必须删去它十进制表示中的恰好一个数位;如果这个数只有一位,删去后得到 0。删除后允许出现前导零,并按通常的十进制方式解释,例如 100 删去最高位的 1 后得到 00=0。
对每个数,请选择一个数位删除,使删除后得到的数尽可能小。
设第 i 个数删除后得到 bi,令 ci=ai−bi。将所有 ci 从大到小排序,并按这个顺序依次执行对应的删除操作。每执行一次删除,输出当前所有数的总和。
若多个 ci 相同,任意顺序处理,每次输出结果不变。
输入格式
第一行一个正整数 n。
第二行 n 个正整数 a1,a2,…,an,相邻两个数用空格隔开。
输出格式
输出 n 行,每行一个整数,表示该次删除后剩余数字的总和。
4
1 2 3 4
6
3
1
0
4
12 23 34 45
73
42
21
10
样例解释
样例 1:四个数都是一位数,删除后都变成 0,减少量分别为 1,2,3,4。按减少量从大到小处理,总和依次为 10−4=6、6−3=3、3−2=1、1−1=0。
样例 2:四个数的最优删除分别为 12→1、23→2、34→3、45→4,减少量分别为 11,21,31,41。按减少量从大到小处理,总和依次为 114−41=73、73−31=42、42−21=21、21−11=10。
数据范围与约定
| 子任务 |
分值 |
限制 |
| 1 |
30 |
1≤n≤10,1≤ai≤1000 |
| 2 |
1≤n≤105,1≤ai≤99 |
| 3 |
40 |
1≤n≤105,1≤ai≤109 |
下发样例
下发样例下载