#P9785. [ROIR 2020 Day1] 对常规的斗争

[ROIR 2020 Day1] 对常规的斗争

题目描述

译自 ROIR 2020 Day1 T3. Борьба с рутиной ,译者ShineEternal

判断员工业绩的一个重要因素就是处理日常事务的能力。

我们考虑员工连续 nn 天的工作情况,第 ii 天执行的工作为 aia_i

为了评估员工的工作业绩,使用以下方法:

选定一个整数 dd,考虑所有 连续 dd 天的日期段,对于每一段这样的日子,我们统计员工完成的不同工作的种类数。

SdS_d 表示每一段这样连续 dd 天的日期段完成的不同种类工作数之和。

现在需要你来统计出 S1nS_{1\sim n} 的值。

输入格式

输入共两行:

第一行为一个整数 nn,表示工作的总天数。

第二行 nn 个整数,表示每天所做的工作种类编号。

输出格式

输出共 nn 个数,为 S1nS_{1\sim n}

5
1 3 2 1 2
5 8 8 6 3
3
10 10 10
3 2 1

提示

【样例 1 解释】

  • S1S_1:
日期段 所有工种 不同的工种的数量
111-1 11 11
222-2 33
333-3 22
444-4 11
555-5 22

所以 S1=1+1+1+1+1=5S_1=1+1+1+1+1=5

  • S2S_2:
日期段 所有工种 不同的工种的数量
121-2 1,31,3 22
232-3 3,23,2
343-4 2,12,1
454-5 1,21,2

所以 S2=2+2+2+2=8S_2=2+2+2+2=8

  • S3S_3:
日期段 所有工种 不同的工种的数量
131-3 1,3,21,3,2 33
242-4 3,2,13,2,1
353-5 2,1,22,1,2 22

所以 S3=3+3+2=8S_3=3+3+2=8

  • S4S_4:
日期段 所有工种 不同的工种的数量
141-4 1,3,2,11,3,2,1 33
252-5 3,2,1,23,2,1,2

所以 S4=3+3=6S_4=3+3=6

  • S5S_5:
日期段 所有工种 不同的工种的数量
151-5 1,3,2,1,21,3,2,1,2 33

所以 S5=3S_5=3

【数据范围】

对于 100%100\% 的数据, 1n2×1051\leq n\leq 2\times 10^51ai1091\leq a_i\leq 10^9

任务编号 特殊限制 分值
11 1n50,1ai501\leq n \leq 50, 1 \leq a_i \leq 50 1212
22 1n50,1ai1091\leq n \leq 50, 1 \leq a_i \leq 10^9 1010
33 1n500,1ai1091\leq n \leq 500, 1 \leq a_i \leq 10^9
44 1n5000,1ai50001\leq n \leq 5000, 1 \leq a_i \leq 5000 1212
55 1n5000,1ai1091\leq n \leq 5000, 1 \leq a_i \leq 10^9 1010
66 1n2×105,1ai501\leq n \leq 2\times 10^5, 1 \leq a_i \leq 50 1616
77 无特殊限制 3030