Pagini recente » Cod sursa (job #2357863) | Cod sursa (job #153288) | Cod sursa (job #473693) | Cod sursa (job #1301436) | Cod sursa (job #1732268)
#include <cstdio>
#include<vector>
#include<ctype.h>
#define MOD1 8191
#define BUF_SIZE 4096
#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;
}