Pagini recente » Cod sursa (job #1060910) | Cod sursa (job #772278) | Cod sursa (job #813858) | Cod sursa (job #501151) | Cod sursa (job #1132532)
#include<fstream>
#include<vector>
#include<algorithm>
#include<string.h>
using namespace std;
long long x;
int N,sol;
char aux[35];
vector <long long > v;
int main() {
ifstream in("dtcsu.in");
ofstream out("dtcsu.out");
int i,j,st,dr,mij;
for(i=1;i<=276997;i++) {
x=0;
in.getline(aux,30);
for(j=0;j<strlen(aux);j++){
x=x*10+(aux[j]-'0');
}
if(x%2==1)
v.push_back(x);
}
sort(v.begin(),v.end());
in.getline(aux,30);
for(i=0;i<strlen(aux);i++){
N=N*10+(aux[i]-'0');
}
for(i=1;i<=N;i++) {
x=0;
in.getline(aux,30);
for(j=0;j<strlen(aux);j++){
x=x*10+(aux[j]-'0');
}
if(x) {
x/=(x&(-x));
st=0;dr=v.size()-1;
while(st<=dr) {
mij=(st+dr)/2;
if(v[mij]==x) {
st=dr+1;
sol++;
}
if(v[mij]<x)
st=mij+1;
if(v[mij]>x)
dr=mij-1;
}
}
}
out<<sol<<'\n';
in.close();
out.close();
return 0;
}