Pagini recente » Cod sursa (job #1030697) | Cod sursa (job #2249985) | Cod sursa (job #1764457) | Cod sursa (job #3271567) | Cod sursa (job #2479112)
#include<cstdio>
#include<unordered_map>
using namespace std;
const int nmax=(1<<20)+2;
int n;
unsigned int v[nmax];
long long nr_secv(unsigned int lg){
long long nrsol=0;
unordered_map<unsigned int,int>m;
int i=1;
for(int j=1;j<=n;j++){
m[v[j]]++;
while(m.size()>lg){
m[v[i]]--;
if(m[v[i]]==0)
m.erase(v[i]);
i++;
}
nrsol+=(j-i+1);
}
return nrsol;
}
int main(){
freopen("secv5.in","r",stdin);
freopen("secv5.out","w",stdout);
int l,u;
scanf("%d%d%d", &n, &l, &u);
for(int i=1;i<=n;i++)
scanf("%d", &v[i]);
long long L=nr_secv(l-1),U=nr_secv(u);
printf("%d\n", U-L);
return 0;
}