#P2136. 「ROIR 2020 Day 1」对常规的斗争

「ROIR 2020 Day 1」对常规的斗争

题目描述

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

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

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

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

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

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

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

输入格式

输入共两行:

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

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

输出格式

输出共 nn 个数,为 S1∼nS_{1\sim n}。

样例 1

5
1 3 2 1 2
5 8 8 6 3
  • S1S_1:

|日期段|所有工种|不同的工种的数量| |:-:|:-:|:-:|:-:| |1−11-1|11|11| |2−22-2|33|11| |3−33-3|22|11| |4−44-4|11|11| |5−55-5|22|11|

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

  • S2S_2:

|日期段|所有工种|不同的工种的数量| |:-:|:-:|:-:|:-:| |1−21-2|1,31,3|22| |2−32-3|3,23,2|22| |3−43-4|2,12,1|22| |4−54-5|1,21,2|22|

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

  • S3S_3:

|日期段|所有工种|不同的工种的数量| |:-:|:-:|:-:|:-:| |1−31-3|1,3,21,3,2|33| |2−42-4|3,2,13,2,1|33| |3−53-5|2,1,22,1,2|22|

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

  • S4S_4:

|日期段|所有工种|不同的工种的数量| |:-:|:-:|:-:|:-:| |1−41-4|1,3,2,11,3,2,1|33| |2−52-5|3,2,1,23,2,1,2|33|

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

  • S5S_5:

|日期段|所有工种|不同的工种的数量| |:-:|:-:|:-:|:-:| |1−51-5|1,3,2,1,21,3,2,1,2|33|

所以 S5=3S_5=3。

3
10 10 10
3 2 1

数据范围与提示

对于 100%100\% 的数据, 1≤n≤2×1051\leq n\leq 2\times 10^5,1≤ai≤1091\leq a_i\leq 10^9。

任务编号 特殊限制 分值
11 1≤n≤50,1≤ai≤501\leq n \leq 50, 1 \leq a_i \leq 50 1212
22 1≤n≤50,1≤ai≤1091\leq n \leq 50, 1 \leq a_i \leq 10^9 1010
33 1≤n≤500,1≤ai≤1091\leq n \leq 500, 1 \leq a_i \leq 10^9
44 1≤n≤5000,1≤ai≤50001\leq n \leq 5000, 1 \leq a_i \leq 5000 1212
55 1≤n≤5000,1≤ai≤1091\leq n \leq 5000, 1 \leq a_i \leq 10^9 1010
66 1≤n≤2×105,1≤ai≤501\leq n \leq 2\times 10^5, 1 \leq a_i \leq 50 1616
77 无特殊限制 3030