logo AlgoBeat OnlineJudge
登录 注册

#214951. [海淀区普及组 2025 T1] 序列相似对

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

元旦联欢会即将到来,老师提前调查了班里 名同学中第 位同学喜欢的零食编号是 。为了统计同学们喜爱零食的相似程度,老师定义了如下指标:一个序列的权值被定义为满足 的下标对 (其中 )的数量。例如,序列 的权值为 4,具有相同值的下标对为

对于一个长度为 的零食喜好序列 ,请你帮老师求出所有子段的权值之和。

如果序列 可以通过从序列 的开头删除若干(可能为零或全部)元素,并从结尾删除若干(可能为零或全部)元素得到,则称 的一个子段。

输入格式

第一行包含一个整数 )。

第二行包含 个整数 )。

输出格式

输出一个整数,表示序列的所有子段的权值之和。

样例

样例输入 1

4
1 2 1 1

样例输出 1

6

数据范围与提示

样例 1 解释:

长度为 1 的子段不可能有满足条件的下标对,而序列所有长度大于 1 的子段为:

  • 第一组:,0 个满足条件的下标对;
  • 第二组:,1 个满足条件的下标对();
  • 第三组:,3 个满足条件的下标对();
  • 第四组:,0 个满足条件的下标对;
  • 第五组:,1 个满足条件的下标对();
  • 第六组:,1 个满足条件的下标对();

总计:

数据范围:

对于前 30% 的数据,满足

对于另外 20% 的数据,满足输入的 互不相等;

对于另外 20% 的数据,满足输入的 全部相等;

对于 100% 的数据,满足“输入格式”中给出的数据范围。