include <bits/stdc++.h>
using namespace std;
int main(){ ios::syncwithstdio(false); cin.tie(nullptr);
int N, K;
cin >> N >> K;
vector<long long> a(N);
for(int i = 0; i < N; i++) cin >> a[i];
unordered_map<long long, vector<int>> pos;
pos.reserve(N * 2);
for(int i = 0; i < N; i++)
pos[a[i]].push_back(i + 1);
long long ans = 0;
for(auto &p : pos){
auto &v = p.second;
int t = v.size();
if(t < K) continue;
for(int i = 0; i + K - 1 < t; i++){
for(int j = i + K - 1; j < t; j++){
int c = j - i + 1;
int maxLen = 2 * c - 1;
int Lmin = v[j] - maxLen + 1;
int Lmax = v[i];
int Rmin = v[j];
int Rmax = v[i] + maxLen - 1;
Lmin = max(Lmin, 1);
Lmax = min(Lmax, v[i]);
Rmin = max(Rmin, v[j]);
Rmax = min(Rmax, N);
if(Lmin > Lmax || Rmin > Rmax) continue;
long long total = 1LL * (Lmax - Lmin + 1) * (Rmax - Rmin + 1);
ans += total;
}
}
}
cout << ans;
}
Bình luận