Cod sursa(job #1034348)

Utilizator fmins123FMI No Stress fmins123 Data 17 noiembrie 2013 19:42:07
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <unordered_set>
using namespace std;

const int NMAX = 276997;
ifstream fin("dtcsu.in");
ofstream fout("dtcsu.out");

const int DIM = 10000;
int poz = DIM - 1;
char buff[DIM];

void citeste(long long &numar) {
  numar = 0;

  while (buff[poz] < '0' || buff[poz] > '9')
    if (++poz == DIM)
      fin.read(buff, DIM), poz = 0;

  while ('0' <= buff[poz] && buff[poz] <= '9') {
    numar = numar * 10 + buff[poz] - '0';
    fin.read(buff,DIM), poz = 0;
  }
}

unordered_set<long long> mySet;
int ret;

int main() {
  for (int i = 0; i < NMAX; ++i) {
    long long x; citeste(x);

    if (x & 1)
      mySet.insert(x);
  }

  long long Q; citeste(Q);
  for(int i = 1; i <= Q; ++i) {
    long long x; citeste(x);

    x /= x & (-x);
    if(mySet.find(x) != mySet.end())
      ++ret;
  }

  fout << ret;
  return 0;
}