Pagini recente » Cod sursa (job #543138) | Cod sursa (job #592953) | Cod sursa (job #701291) | Cod sursa (job #3343558) | Cod sursa (job #3325866)
#include <bits/stdc++.h>
using namespace std;
unordered_map<unsigned int, int> f;
unsigned int a[1048577]; // nr max de num(2^20)
int n;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long secv(int x) {
long long rez=0;
int l=1, nrdist=0;
unordered_map<unsigned int, int> frecv;
for(int r=1; r<=n; r++)
{
frecv[a[r]]++;
if(frecv[a[r]]==1) nrdist++;
while(l<=r and nrdist>x)
{
frecv[a[l]]--;
if(!frecv[a[l]]) nrdist--;
l++;
}
rez+=(r-l+1);
}
return rez;
}
int main() {
int k,m;
fin>>n>>k>>m;
for(int i=1;i<=n;i++)
fin>>a[i];
fout<<secv(k)-secv(m-1);
return -0;
}