Cod sursa(job #1202484)

Utilizator andreioneaAndrei Onea andreionea Data 28 iunie 2014 00:55:34
Problema Dtcsu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <unordered_set>
#include <fstream>
#define INFILE "dtcsu.in"
#define OUTFILE "dtcsu.out"

using std::unordered_set;
using std::ifstream;
using std::ofstream;

inline long long strip_binary_decimals(long long l)
{
	if (l && !(l&1))
		return l / (l & -l);
	return l;
}

int main()

{
	unordered_set<long long> table;
	ifstream fin(INFILE);
	long long Q, N;
	for (auto i = 0; i < 276997; ++i) {
		fin >> N;
		if (N & 1)
			table.insert(N);
	}
	fin >> Q;
	long long res = 0;
	auto endIterator = table.end();
	for (auto i = 0; i < Q; ++i) {
		fin >> N;
		res += (table.find(strip_binary_decimals(N)) != endIterator) ? 1 : 0;
	}
	fin.close();
	ofstream fout(OUTFILE);
	fout << res;
	fout.close();
}