Cod sursa(job #1035893)

Utilizator addy01adrian dumitrache addy01 Data 18 noiembrie 2013 21:06:55
Problema Dtcsu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <tr1/unordered_set>
using namespace std;

tr1::unordered_set <long long> G;

int main()
{
    ifstream in("dtcsu.in");
    ofstream out("dtcsu.out");
    int q,nr=0;
    long long x;
    int n=276997;
    while(n--)
    {
        in>>x;
        if(x%2)
           G.insert(x);
    }
    in>>q;
    while(q--)
    {
        in>>x;
        if(x%2==0)
        x=x/(x&(-x));
        if(G.count(x))
            nr++;
    }
    out<<nr;
    return 0;
}
/*
...(276997 linii)
3
1
13
10

citesti primele 279000 numere
si le bagi intr-un hash doar pe cele impare
si apoi pt. fiecare query
il imparti la 2 pana ajunge impar
si apoi verifici daca e in hash*/