Cod sursa(job #1389441)

Utilizator atatomirTatomir Alex atatomir Data 16 martie 2015 11:42:12
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <cstdio>
#include <bitset>

using namespace std;

#define cntRead 276997
#define mod 4000000
#define mod1 666013
#define mod2 3666117
#define mod3 733571

long n,i,cnt;
long long x;
bitset<mod+11> B;

inline long h1(long long x){
    return x%mod1;
}
inline long h2(long long x){
    return x%mod2;
}
inline long h3(long long x){
    return x%mod3;
}

int main()
{
    freopen("dtcsu.in","r",stdin);
    freopen("dtcsu.out","w",stdout);

    for(i=1;i<=cntRead;i++){
        scanf("%lld",&x);
        if(x&1)
            B[h1(x)]=1;B[h2(x)]=1;B[h3(x)]=1;
    }

    scanf("%ld",&n);
    for(i=1;i<=n;i++){
        scanf("%lld",&x);
        x /= (x^(x-1))&x;
        if(B[h1(x)]==1 && B[h2(x)]==1 && B[h3(x)]==1) cnt++;
    }
    printf("%ld",cnt);

    return 0;
}