Pagini recente » Cod sursa (job #2493682) | Cod sursa (job #1283573) | Cod sursa (job #2908796) | Cod sursa (job #978535) | Cod sursa (job #3318192)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n,l,u;
unsigned int v[(1<<20)+3];
unordered_map<unsigned int,int> mapa;
long long nr_secv(int k)
{
int st=1;
long long cnt=0;
for (int i=1;i<=n;i++)
{
mapa[v[i]]++;
while (mapa.size()>k)
{
mapa[v[st]]--;
if (mapa[v[st]]==0) mapa.erase(v[st]);
st++;
}
cnt=cnt+(i-st+1);
}
return cnt;
}
int main()
{
fin>>n>>l>>u;
for (int i=1;i<=n;i++)
fin>>v[i];
long long nr1=nr_secv(l-1);
mapa.clear();
long long nr2=nr_secv(u);
fout<<nr2-nr1;
return 0;
}