Pagini recente » Cod sursa (job #1954185) | Cod sursa (job #1778022) | Cod sursa (job #643334) | Cod sursa (job #672857) | Cod sursa (job #667408)
Cod sursa(job #667408)
#include <cstdio>
#include <cstring>
#define MAXN ((1<<20)+10)
#define MOD 80011
#define LOGN 7
static unsigned H[MOD][LOGN];
void hash_add(unsigned x){
int i, key;
key=x%MOD; i=0;
while(H[key][i])
i++;
H[key][i]=x;
}
int hash_find(unsigned x){
int i, key;
key=x%MOD; i=0;
while(H[key][i] && H[key][i] != x)
i++;
if(!H[key][i])
return 0;
else
return 1;
}
int main(){
freopen("secv5.in", "r", stdin);
freopen("secv5.out", "w", stdout);
int N, L, R, i, j, cnt, res;
static unsigned A[MAXN];
scanf("%d%d%d", &N, &L, &R);
for(i=0; i<N; i++)
scanf("%u", A+i);
res=0;
for(i=0; i<N; i++){
cnt=1; hash_add(A[i]);
for(j=i+1; j<N; j++){
if(!hash_find(A[j])){
cnt++;
hash_add(A[j]);
}
if(L <= cnt && cnt <= R)
res++;
}
memset(H, 0, sizeof(H));
}
printf("%d\n", res);
return 0;
}