Pagini recente » Cod sursa (job #1662350) | Cod sursa (job #3340916) | Cod sursa (job #3345835) | Cod sursa (job #3345869) | Cod sursa (job #3352285)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n,l,u;
unsigned int a[1<<20+5];
unordered_map <unsigned int,int> fr;
long long f(int k)
{
long long ans=0;
int j=0,cnt=0;
for(int i=1; i<=n; i++)
{
while(j<=n && cnt<=k)
{
j++;
if(j==n+1)
break;
fr[a[j]]++;
if(fr[a[j]]==1)
cnt++;
}
ans+=j-i;
fr[a[i]]--;
if(fr[a[i]]==0)
cnt--;
}
return ans;
}
int main()
{
fin>>n>>l>>u;
for(int i=1; i<=n; i++)
fin>>a[i];
fout<<f(u)-f(l-1)<<"\n";
return 0;
}