Pagini recente » Cod sursa (job #732392) | Cod sursa (job #1034833) | Cod sursa (job #1356750) | Cod sursa (job #2247445) | Cod sursa (job #1279664)
#include <cstdio>
#include <unordered_map>
using namespace std;
unsigned long n,l,u,i,v[1065000];
long long Count(unsigned long nr) {
unordered_map<unsigned long, long> stiva;
int st=1;
long long sol=0;
for (unsigned long i=1;i<=n;++i) {
++stiva[v[i]];
while (stiva.size()>nr) {
--stiva[v[st]];
if (stiva[v[st]]==0)
stiva.erase(v[st]);
++st;
}
sol+=i-st+1;
}
return sol;
}
int main()
{
freopen ("secv5.in","r",stdin);
freopen ("secv5.out","w",stdout);
scanf("%d%d%d",&n,&l,&u);
for (i=1;i<=n;i++)
scanf("%d",&v[i]);
printf("%ld",Count(u)-Count(l-1));
fclose(stdin);
fclose(stdout);
return 0;
}