Pagini recente » Istoria paginii utilizator/ciurel_alexandru_george_325ca | Cod sursa (job #830046) | Istoria paginii utilizator/vanceavlad | Cod sursa (job #2007949) | Cod sursa (job #1774558)
#include <bits/stdc++.h>
using namespace std;
constexpr int n = 276997;
ifstream f("dtscu.in");
ofstream g("dtscu.out");
char buf[10000], *p, *ep;
void init_p(){
f.read(p=buf, sizeof(buf));
ep = p + sizeof(buf); }
void adv(){
if(++p == ep){
f.read(p=buf, sizeof(buf)); } }
using ll = long long;
ll get_ll(){
ll r = 0;
for( ; *p == '\n'; adv());
for( ; *p != '\n'; adv()) r = (10 * r + *p - '0');
return r; }
int main(){
init_p();
set<ll> s;
for(int i = 0; i < n; ++i){
ll x = get_ll();
if(x&1) s.insert(x); }
int q = get_ll(), r = 0;
for(ll x; q--; ){
x = get_ll();
if(x == 0) continue;
r += (s.find(x / (x & -x)) != end(s) ? 1 : 0); }
g << r << endl;
return 0; }