Pagini recente » Cod sursa (job #820826) | Cod sursa (job #43449) | Cod sursa (job #2782625) | Cod sursa (job #702231) | Cod sursa (job #2220023)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
const int nmax=(1<<20)+2;
int l,u,n;
unsigned int a[nmax];
long long nr_secv(unsigned int lg)
{
int i,j;
long long nrsol;
unordered_map<unsigned int,int>m;
i=1;nrsol=0;
for(j=1;j<=n;j++)
{
m[a[j]]++;
while(m.size()>lg)
{
m[a[i]]--;
if(m[a[i]]==0)m.erase(a[i]);
i++;
}
nrsol+=(j-i+1);
}
return nrsol;
}
int main()
{
fin>>n>>l>>u;
for(int i=1;i<=n;i++)
fin>>a[i];
long long L,U;
L=nr_secv(l-1);
U=nr_secv(u);
fout<<U-L<<"\n";
fin.close();
fout.close();
return 0;
}