Cod sursa(job #1495402)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 3 octombrie 2015 00:35:07
Problema Dtcsu Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <cstdio>
#include <unordered_set> // chiar nu stiam ca exista chestia asta
#include <cstring>
#define DIM 276997
using namespace std;

FILE *fin = freopen("dtcsu.in" ,"r", stdin );
FILE *fout= freopen("dtcsu.out","w", stdout);

unordered_set <long long int> mySet;

void Read(){
     int i; long long int X;

     for(i = 1; i <= DIM; ++ i){
        scanf("%lld", &X);

        if(X & 1)
            mySet.insert(X);
    }
    return;
}

inline long long int ub(long long int X){
    return ((X ^ (X - 1)) & X);
}

void Write(){

    int Q, i, nr = 0;
    long long int X;

    scanf("%d", &Q);
    for(i = 1; i <= Q; ++ i){
        scanf("%lld", &X);

        if(!X) continue;

        X /= ub(X);

        if(mySet.find(X) != mySet.end())
            nr ++;
    }

    printf("%d\n", nr);

    return;
}

int main(){

    Read();
    Write();

    fclose(stdin );
    fclose(stdout);

    return 0;
}