题目描述
译自 ROIR 2020 Day1 T3. Борьба с рутиной
,译者ShineEternal
判断员工业绩的一个重要因素就是处理日常事务的能力。
我们考虑员工连续 n 天的工作情况,第 i 天执行的工作为 ai。
为了评估员工的工作业绩,使用以下方法:
选定一个整数 d,考虑所有 连续 d 天的日期段,对于每一段这样的日子,我们统计员工完成的不同工作的种类数。
记 Sd 表示每一段这样连续 d 天的日期段完成的不同种类工作数之和。
现在需要你来统计出 S1∼n 的值。
输入格式
输入共两行:
第一行为一个整数 n,表示工作的总天数。
第二行 n 个整数,表示每天所做的工作种类编号。
输出格式
输出共 n 个数,为 S1∼n。
5
1 3 2 1 2
5 8 8 6 3
3
10 10 10
3 2 1
提示
【样例 1 解释】
日期段 |
所有工种 |
不同的工种的数量 |
1−1 |
1 |
1 |
2−2 |
3 |
3−3 |
2 |
4−4 |
1 |
5−5 |
2 |
所以 S1=1+1+1+1+1=5。
日期段 |
所有工种 |
不同的工种的数量 |
1−2 |
1,3 |
2 |
2−3 |
3,2 |
3−4 |
2,1 |
4−5 |
1,2 |
所以 S2=2+2+2+2=8。
日期段 |
所有工种 |
不同的工种的数量 |
1−3 |
1,3,2 |
3 |
2−4 |
3,2,1 |
3−5 |
2,1,2 |
2 |
所以 S3=3+3+2=8。
日期段 |
所有工种 |
不同的工种的数量 |
1−4 |
1,3,2,1 |
3 |
2−5 |
3,2,1,2 |
所以 S4=3+3=6。
日期段 |
所有工种 |
不同的工种的数量 |
1−5 |
1,3,2,1,2 |
3 |
所以 S5=3。
【数据范围】
对于 100% 的数据, 1≤n≤2×105,1≤ai≤109。
任务编号 |
特殊限制 |
分值 |
1 |
1≤n≤50,1≤ai≤50 |
12 |
2 |
1≤n≤50,1≤ai≤109 |
10 |
3 |
1≤n≤500,1≤ai≤109 |
4 |
1≤n≤5000,1≤ai≤5000 |
12 |
5 |
1≤n≤5000,1≤ai≤109 |
10 |
6 |
1≤n≤2×105,1≤ai≤50 |
16 |
7 |
无特殊限制 |
30 |