Pagini recente » Cod sursa (job #2366837) | Cod sursa (job #1871149) | Cod sursa (job #1347153) | Cod sursa (job #2499796) | Cod sursa (job #2219934)
#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,a[nmax];
unordered_map<long long,int>m;
long long nr_secv(int lg)
{
int i,j,cnt;
long long nrsol;
i=1;nrsol=cnt=0;
for(j=1;j<=n;j++)
{
m[a[j]]++;
if(m[a[j]]==1)cnt++;
while(i<=j && cnt>lg)
{
m[a[i]]--;
if(m[a[i]]==0)cnt--;
i++;
}
nrsol+=(j-i+1);
}
return nrsol;
}
int main()
{
fin>>n>>l>>u;
for(int i=1;i<=n;i++)
fin>>a[i];
int L,U;
L=nr_secv(l-1);
m.clear();
U=nr_secv(u);
fout<<U-L<<"\n";
return 0;
}