Pagini recente » Cod sursa (job #629622) | Cod sursa (job #2467477) | Cod sursa (job #892012) | Cod sursa (job #1418582) | Cod sursa (job #1573625)
#include <iostream>
#include <cstdio>
using namespace std;
#include <vector>
#include <unordered_map>
long long int V[2000000];
long long int rez(long long int limita)
{
long long r=0;
unordered_map <long long int,long long int> H;
for (s=1,d=1;d<n;d++)
{
H[V[d]]++;
while (H.size()>limita)
{
H[V[s]]--;
if (H[V[s]]==0) H.erase(V[s]);
s++;
}
r+=d-s+1;
}
return r;
}
int main()
{
freopen("secv5.in","r",stdin);
freopen("secv6.out","w",stdout);
long long int n,s,d;
scanf("%lli %lli %lli",&n,&s,&d);
for (i=1;i<=n;i++)
{
scanf("%lli",V[i]);
}
cout<<rez(d)-rez(s-1);
}