题号:NC20388
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
魔咒串由许多魔咒字符组成,魔咒字符可以用数字表示。例如可以将魔咒字符 1、2 拼凑起来形成一个魔咒串 [1,2]。
一个魔咒串 S 的非空字串被称为魔咒串 S 的生成魔咒。 例如 S=[1,2,1] 时,它的生成魔咒有 [1]、[2]、[1,2]、[2,1]、[1,2,1] 五种。S=[1,1,1] 时,它的生成魔咒有 [1]、 [1,1]、[1,1,1] 三种。
最初 S 为空串。共进行 n 次操作,每次操作是在 S 的结尾加入一个魔咒字符。每次操作后都需要求出,当前的魔咒串 S 共有多少种生成魔咒。
输入描述:
第一行一个整数n。
第二行n个数,第i个数表示第i次操作加入的魔咒字符。1 ≤ n ≤ 100000。
用来表示魔咒字符的数字x满足1≤x≤10^9
输出描述:
输出n行,每行一个数。第i行的数表示第i次操作后S的生成魔咒数量
备注:
对于10%的数据,保证
;
对于30%的数据,保证
;
对于60%的数据,保证
;
对于100%的数据,保证
。