Pagini recente » Cod sursa (job #2900591) | Cod sursa (job #848732) | Cod sursa (job #2439283) | Cod sursa (job #22542) | Cod sursa (job #1038973)
#include <fstream>
#include <cstdio>
#include <algorithm>
#define LG 500000
using namespace std;
int ind, sol, m;
char buffer[LG];
long long Q, N, v[110000];
inline void Citeste(long long &x)
{
while(buffer[ind] < '0' || '9' < buffer[ind])
{
ind++;
if(ind == LG)
{
fread(buffer,1,LG,stdin);
ind=0;
}
}
x = 0LL;
while('0' <= buffer[ind] && buffer[ind] <= '9')
{
x = x * 10LL + buffer[ind] - '0';
ind++;
if(ind == LG)
{
fread(buffer,1,LG,stdin);
ind=0;
}
}
}
int main()
{
int i, poz;
long long x;
freopen("dtcsu.in","r",stdin);
fread(buffer,1,LG,stdin);
for(i = 1; i <= 276997; ++i)
{
Citeste(x);
if(x % 2LL == 1LL)
v[++m] = x;
}
sort(v + 1, v + m + 1);
Citeste(Q);
while(Q--)
{
Citeste(N);
if(N == 0LL)
continue;
N /= (N & (-N));
poz = lower_bound(v + 1, v + m + 1, N) - v;
if(v[poz] == N)
sol++;
}
freopen("dtcsu.out","w",stdout);
printf("%d\n", sol);
return 0;
}