Pagini recente » Cod sursa (job #1234786) | Cod sursa (job #1277850) | Cod sursa (job #1316966) | Cod sursa (job #1983751) | Cod sursa (job #2038971)
#include <bits/stdc++.h>
using namespace std;
const int NMAX=(1<<20)+5;
int n,L,U;
unsigned int a[NMAX];
unordered_map<unsigned int,int>c;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
inline long long Secv(int lug)
{ unordered_map<unsigned int,int>c;
int j=1,s=0;
long long sol=0;
for(int i=1;i<=n;i++)
{
unsigned int x=a[i];
c[x]++;
s+=(c[x]==1);
while(s>lug)
{
unsigned int y=a[j];
c[y]--;
s-=(c[y]==0);
j++;
}
sol=sol+(i-j+1);
}
return sol;
}
int main()
{
fin>>n>>L>>U;
for(int i=1;i<=n;i++)
fin>>a[i];
long long x,y;
x=Secv(U);
y=Secv(L-1);
fout<<(x-y)<<"\n";
fin.close();
fout.close();
return 0;
}