Cod sursa(job #2042553)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 18 octombrie 2017 19:48:30
Problema Dtcsu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>

#define MaxN 100005
#define INF 2140000000
#define MOD 10007
#define lsb(x) (x&(-x))

//using namespace std;

FILE*IN,*OUT;

int Ans=0;
long long X,Q;
std::vector<long long>Hash[MOD];

int main()
{

    IN=fopen("dtcsu.in","r");
    OUT=fopen("dtcsu.out","w");

    for(int i=1;i<=276997;i++)
    {
        fscanf(IN,"%lld",&X);
        if(X%2==1)
            Hash[X%MOD].push_back(X);
    }
    fscanf(IN,"%lld",&Q);
    for(int i=1;i<=Q;i++)
    {
        fscanf(IN,"%lld",&X);
        if(X)
            X/=lsb(X);
        int alfa=X%MOD;
        for(int i=0;i<Hash[alfa].size();i++)
        {
            if((X^Hash[alfa][i])==0)
            {
                Ans++;
                break;
            }
        }
    }
    fprintf(OUT,"%d",Ans);
    return 0;
}