Cod sursa(job #1783829)

Utilizator PletoPletosu Cosmin-Andrei Pleto Data 19 octombrie 2016 15:38:59
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda hash_excelenta Marime 0.72 kb
#include <fstream>
#include <vector>

using namespace std;

const int mod = (1<<17)-1;
vector <long long> H[mod];
long long X;
int Q, solution;

ifstream fin("dtcsu.in");
ofstream fout("dtcsu.out");

int isInHash(long long X)
{
    vector <long long> :: iterator it=H[X%mod].begin(), sf=H[X%mod].end();
    for(; it!=sf; ++it) if(*it == X) return 1;
    return 0;
}

int main()
{
    for(int i=0; i<276997; ++i)
    {
        fin>>X;
        if(X%2==1)
        {
            H[X%mod].push_back(X);
        }
    }
    fin>>Q;
    for(int i=0; i<Q; ++i)
    {
        fin>>X;
        while(X%2==0) X/=2;
        solution += isInHash(X);
    }
    fin.close();
    fout.close();
    return 0;
}