Cod sursa(job #1802652)

Utilizator ArkinyStoica Alex Arkiny Data 10 noiembrie 2016 15:52:49
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream>
using namespace std;

ifstream in("dtcsu.in");
ofstream out("dtcsu.out");

#define MOD 666037

bool bloom_filter[666037];


int main()
{
	unsigned long long x;

	for (int i = 1; i <= 276997; ++i)
	{
		in >> x;
		bloom_filter[x % MOD] = 1;
		bloom_filter[(x+3) % MOD] = 1;
		bloom_filter[(x+5) % MOD] = 1;
		bloom_filter[(x+7) % MOD] = 1;
		bloom_filter[(x+11) % MOD] = 1;
	}

	int Q,nr=0;

	in >> Q;

	for (int i = 1; i <= Q; ++i)
	{
		in >> x;

		if (bloom_filter[x % MOD] & bloom_filter[(x + 3) % MOD] & bloom_filter[(x + 5) % MOD] & bloom_filter[(x + 7) % MOD] & bloom_filter[(x + 11) % MOD])
		{
			while (x % 2 == 0)
				x /= 2;
			while (x % 3 == 0)
				x /= 3;
			while (x % 5 == 0)
				x /= 5;
			while (x % 7 == 0)
				x /= 7;
			while (x % 11 == 0)
				x /= 11;

			nr += (x == 1);
		}
	}

	out << nr;

	return 0;
}