Pagini recente » Monitorul de evaluare | Cod sursa (job #2005956) | Monitorul de evaluare | Cod sursa (job #1661579) | Cod sursa (job #1066056)
#include <fstream>
#define Nrlinii 276997
#define MOD 666013
using namespace std;
//unordered_set < long long > H;
struct nod {
long long v;
nod *next;
};
nod *H[MOD];
inline void add(long long v) {
int h = int(v % MOD);
nod *p = new nod;
p->v = v;
p->next = H[h];
H[h] = p;
}
inline bool find(long long v) {
int h = int(v % MOD);
for (nod *p = H[h]; p; p = p->next)
if (p->v == v)
return true;
return false;
}
int main()
{
int Q,i;
long long sol=0,x;
int h;
ifstream fin("dtcsu.in");
for(i=1;i<=Nrlinii;++i)
{
fin>>x;
if(x&1LL) {
add(x);
}
}
fin>>Q;
while(Q--)
{
fin>>x;
if(x && find(x/(x&(-x))))
++sol;
}
ofstream fout("dtcsu.out");
fout<<sol<<"\n";
fout.close();
return 0;
}