Pagini recente » Cod sursa (job #2849030) | Cod sursa (job #2986804) | Cod sursa (job #1781933) | Cod sursa (job #279841) | Cod sursa (job #1280426)
#include <cstdio>
#include <unordered_map>
#include <iostream>
using namespace std;
int n;
int nrsecv(unsigned int lim, unsigned int *a)
{
unordered_map <unsigned int, unsigned int> coada;
int i,inc=0,nrs=0;
for(i=0;i<n;i++)
{
coada[a[i]]++;
while(coada.size()>lim)
{
coada[a[inc]]--;
if(coada[a[inc]]==0)
coada.erase(a[inc]);
inc++;
}
nrs+=i-inc;
}
return nrs;
}
int main()
{
FILE *f=fopen("secv5.in","r");
FILE *g=fopen("secv5.out","w");
unsigned int x[1048577];
int l,i,u,s1,s2;
fscanf(f,"%d %d %d",&n,&l,&u);
for(i=0;i<n;i++)
fscanf(f,"%u",x+i);
s1=nrsecv(l-1,x);
s2=nrsecv(u,x);
fprintf(g,"%d",s2-s1);
return 0;
}