夹心饼干
1. 题目描述
给定一个数列a1,a2,⋯,an,请求出在这个数列中,存在多少个夹心饼干。
所谓夹心饼干,就是从数列中挑出三个数ai,aj,ak,满足i<j<k且ai=ak且ai=aj。
2. 输入
2.1 输入格式
- 第一行:单个整数n。
- 第二行:n个整数表示a1,a2,⋯,an。
2.2 数据范围
- 30%的数据,n≤100。
- 60%的数据,n≤20000。
- 100%的数据,1≤n≤300000,0≤ai<n。
2.3 输入样例
5
1 2 1 2 1
3. 输出
3.1 输出格式
单个整数,表示夹心饼干的数量。
3.2 输出样例
5
4.样例说明
对于输入样例 5 1 2 1 2 1
,数列a=[1,2,1,2,1],下面来找出其中的夹心饼干:
- 当i=1,j=2,k=3时,a1=1,a2=2,a3=1,满足1<2<3且a1=a3且a1=a2 ,这是一个夹心饼干。
- 当i=1,j=4,k=5时,a1=1,a4=2,a5=1,满足1<4<5且a1=a5且a1=a4 ,这是一个夹心饼干。
- 当i=3,j=4,k=5时,a3=1,a4=2,a5=1,满足3<4<5且a3=a5且a3=a4 ,这是一个夹心饼干。
- 当i=1,j=2,k=5时,a1=1,a2=2,a5=1,满足1<2<5且a1=a5且a1=a2 ,这是一个夹心饼干。
- 当i=2,j=3,k=4时,a2=2,a3=1,a4=2,满足2<3<4且a2=a4且a3=a4 ,这是一个夹心饼干。
综上,总共能找到5个满足条件的夹心饼干组合,所以输出为5。