Cod sursa(job #1068064)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 27 decembrie 2013 21:14:39
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<cstdio>
#include<cstring>
#include<vector>
#define hash 100003
#define M 2
using namespace std;

vector<long long> H[hash+3];

long long numar (char* sir)
{
    int n=strlen(sir),i;
    long long nr=0;
    for (i=0; i<n; i++)
        nr=nr*10+(sir[i]-'0');
    return nr;
}

int found (long long x)
{
    int i;
    for (i=0; i<H[x%hash].size(); i++)
        if (x==H[x%hash][i])
            return 1;
    return 0;
}

int main ()
{
    char sir[21];
    int i,n,cont=0;
    long long nr;
    freopen("dtcsu.in","r",stdin);
    freopen("dtcsu.out","w",stdout);
    for (i=1; i<=M; i++)
    {
        scanf("%s",sir);
        nr=numar(sir);
        if (nr&1)
            H[nr%hash].push_back(nr);
    }
    scanf("%d",&n);
    for (i=1; i<=n; i++)
    {
        scanf("%lld",&nr);
        if (!nr) continue;
        nr/=nr&(-nr);
        if (found(nr))
            cont++;
    }
    printf("%d\n",cont);
    return 0;
}