
CF120-D
By: a guest on
May 16th, 2012 | syntax:
C++ | size: 0.42 KB | hits: 146 | expires: Never
#include <iostream>
#include <map>
using namespace std;
long long n, k, i, a[400001], l, r, ans=0;
map <long long, long long> m;
int main()
{
cin>>n>>k;
for(i=0; i<n; ++i)
cin>>a[i];
for(l=0, r=-1; l<n&&r<n; ++l)
{
if(l)
--m[a[l-1]];
if(l==0||m[a[l-1]]==k-1)
{
++r;
while(r<n)
{
++m[a[r]];
if(m[a[r]]==k)
break;
++r;
}
}
ans+=n-r;
}
cout<<ans;
return 0;
}