Cod sursa(job #1392302)

Utilizator andrei.arnautuAndi Arnautu andrei.arnautu Data 18 martie 2015 16:14:28
Problema Dtcsu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
// How about a coding trick?
#include <cstdio>
#include <unordered_set>
#include <cstring>
#define lastbit(x) ((x ^ (x - 1)) & x)
#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> elem;
char S[20];

void Read()
{
    int i, len, j;
    long long int val;
    for(i = 1; i <= DIM; ++i)
    {
        scanf("%lld ", &val);
        if( val & 1 )
            elem.insert(val);
    }
}

void Solve()
{
    int q, sol = 0;;
    long long int query;
    scanf("%d", &q);
    for(int i = 1; i <= q; ++i)
    {
        scanf("%lld", &query);
        query /= lastbit(query);
        if( !query )
            continue;
        if( elem.find(query) != elem.end() )
            ++sol;
    }
    printf("%d", sol);
}

int main()
{
    Read();
    Solve();
}