Pagini recente » Cod sursa (job #1548964) | Monitorul de evaluare | Cod sursa (job #1815883) | Cod sursa (job #2695984) | Cod sursa (job #1041168)
#include <fstream>
#include <string>
#include <algorithm>
#include <vector>
#define C 276997
using namespace std;
ifstream f("dtcsu.in");
ofstream g("dtcsu.out");
int q,sol,i,st,dr,mij;
long long nr;
string s;
vector<long long>v;
int main()
{
for(i=1;i<=C;++i)
{
getline(f,s);
nr=0;
for(i=0;i<s.size();++i)nr=nr*10+s[i]-'0';
if(nr&1)v.push_back(nr);
}
sort(v.begin(),v.end());
getline(f,s);
for(i=0;i<s.size();++i)q=q*10+(s[i]-'0');
while(q--)
{
getline(f,s);
nr=0;
for(i=0;i<s.size();++i)nr=nr*10+(s[i]-'0');
if(nr)
{
nr/=(nr&(-nr));
st=0,dr=v.size()-1;
while(st<=dr)
{
mij=(st+dr)/2;
if(v[mij]==nr){++sol;st=dr+1;}
else if(v[mij]<nr)st=mij+1;
else dr=mij-1;
}
}
}
g<<sol<<'\n';
return 0;
}