Cod sursa(job #119480)

Utilizator gigi_becaliGigi Becali gigi_becali Data 1 ianuarie 2008 12:41:49
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#include <cstdlib>
#include <ctime>
#define maxn (1<<21)

struct nod{ int v; nod*n;};

nod *H[maxn];
int r;
int hight[maxn];

inline void init()
{
  srand(time(0));
  r=(rand()<<1)|1;
}

inline int hash(int v)
{
  return (unsigned) (v*r)>>11;
}

inline void insert(int v)
{
  int h=hash(v);
  nod *p=new nod;
  p->v=v;
  p->n=H[h];
  H[h]=p;
 ++hight[h];
}

inline int find(int v)
{
  int h=hash(v);
  for(nod *p=H[h]; p ; p=p->n)
    if(p->v==v)return 1;
  return 0;
}

int main()
{
  init();
  int n=1000000, i;
  for(i=1;i<=n;++i) insert(rand());
  for(i=1;i<=n;++i) find(rand());

  int m=0;
  for(i=0;i<maxn;++i)m>?=hight[i];
  printf("%d\n", m);
  return 0;
}