Cod sursa(job #1774557)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 9 octombrie 2016 02:10:07
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>
using namespace std;

constexpr int n = 276997;

ifstream f("dtscu.in");
ofstream g("dtscu.out");
char buf[10000], *p, *ep;

void init_p(){
	f.read(p=buf, sizeof(buf));
	ep = p + sizeof(buf); }

void adv(){
	if(++p == ep){
		f.read(p=buf, sizeof(buf)); } }

using ll = long long;

ll get_ll(){
	ll r = 0;
	while(*p == '\n') adv();
	while(*p != '\n') r = (10*r + *p - '0'), adv();
	return r; }

int main(){
	init_p();
	set<ll> s;
	for(int i = 0; i < n; ++i){
		ll x = get_ll();
		if(x&1) s.insert(x); }

	int q, r = 0;
	f >> q;
	for(ll x; q--; ){
		x = get_ll();
		if(x == 0) continue;
		r += (s.find(x / (x & -x)) != end(s) ? 1 : 0); }
	g << r << endl;

	return 0; }