#include <bits/stdc++.h>
using namespace std;
int a[100005];
long long ans = 0;
int n;
int main() {
scanf("%d", &n);
long long k;//k为相同的数字长度
for (int i = 1; i <= n; i++) {
scanf("%d", &a[i]);
if (i == 1){//第一个数,长度为1
k = 1;
} else if (a[i] == a[i - 1]) {//跟前一个数相同,增加一
k++;
} else {//跟前一个数不同
ans += (k * (k - 1) / 2);//计算之前的
k = 1;//长度变成1
}
}
ans += (k * (k - 1) / 2);//最后一个数的长度
cout << ans + n;//加上单个数字的数量
return 0;
}
评论区