Pagini recente » Cod sursa (job #415211) | Cod sursa (job #15982) | Cod sursa (job #1563102) | Cod sursa (job #731086) | Cod sursa (job #1732278)
#include <cstdio>
#include<vector>
#include<ctype.h>
#define MOD1 9013
#define BUF_SIZE 131072
#define MAXN 276997
using namespace std;
vector<long long>v[MOD1];
int pos=BUF_SIZE;
char buf[BUF_SIZE];
FILE *fin=fopen("dtcsu.in", "r"), *fout=fopen("dtcsu.out", "w");
inline char getChar()
{
if(pos==BUF_SIZE)
{
fread(buf, 1, BUF_SIZE, fin);
pos=0;
}
return buf[pos++];
}
inline long long getNumber()
{
long long nr=0;
char c;
c=getChar();
while(!isdigit(c))
c=getChar();
while(isdigit(c))
nr=nr*10+c-'0', c=getChar();
return nr;
}
inline int check(long long x)
{
int key1=x%MOD1, sz;
sz=v[key1].size();
for(int i=0;i<sz;++i)
if(v[key1][i] == x)
return 1;
return 0;
}
int main()
{
long long x, q, nr=0;
for(int i=1;i<=MAXN;++i)
{
x=getNumber();
if((x&1)) v[x%MOD1].push_back(x);
}
q=getNumber();
for(int i=1;i<=q;++i)
{
x=getNumber();
while(!(x&1))
x=(x>>1);
nr+=check(x);
}
fprintf(fout, "%lld", nr);
fclose(fin);
fclose(fout);
return 0;
}