测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A1061. AC序列

编程题 普及+/提高

题目描述

【题目名称】AC序列

序列(英语:Sequences)在数学中是指被排成一列的对象或事件;这样,每个元素不是在其他元素之前,就是在其他元素之后。元素之间的顺序非常重要,其中常见的就是排成一列的数,即数列。

AC狗星的社会里有一种特殊数列,这种数列每条AC狗都知道,因为在他们的小学阶段就会学,这种序列称为AC序列。

简单来说,对于任意一个序列{a},从中选出尽可能多的数,按照在序列{a}中的相对位置形成新的序列{b},并且序列{b}满足$b_1<=b_2<=b_3<=⋯b_i<=b_{i+1}<=⋯<=b_n$,则称{b}序列是一个AC序列。AC序列可能不唯一,但是AC序列的长度唯一。

给定一个序列,序列中有$N$个**个位数**,求每个数以该数结尾的AC序列的分数。

分数为这个AC序列中所有数的和。

输入格式

第一行,$1$ 个数 $N(1<=N<=10000000)。$

第二行,$N$ 个数。

输出格式

输出为一行,共$N$个数,分别表示以每个数结尾的AC序列分数。

输入输出样例

输入 #1
5
1 2 8 7 9
输出 #1
1 3 11 10 20

说明/提示

对于第$1$个数,AC序列为$1$,分数为$1$

对于第$2$个数,AC序列为$1,2$,分数为$3$

对于第$3$个数,AC序列为$1,2,8$,分数为$11$

对于第$4$个数,AC序列为$1,2,7$,分数为$10$

对于第$5$个数,AC序列为$1,2,8,9$,分数为$20$

若AC序列不唯一,则选择序列下标字典序较小的那一个。
上一题 去做题 下一题