Pagini recente » Cod sursa (job #1756906) | Cod sursa (job #2472140) | Cod sursa (job #750956) | Monitorul de evaluare | Cod sursa (job #1040832)
#include <fstream>
#include <bitset>
#define MM 5000010
using namespace std;
ifstream f("dtcsu.in");
ofstream g("dtcsu.out");
bitset<MM> V;
int NR=276997, Q, i, j;
long long X;
int ANS;
long long Primes[20]={666013, MM, 3571, 3091, 1046527, 25561, 319993, 999331, 3010349};
long long Plus[20]= {1000000, 0, 2000000, 300000, 1000000, 2123435, 4043132, 3325112, 3234};
void Add ()
{
for (j=0; j<9; j++)
V[X%Primes[j]+Plus[j]]=1;
}
bool Query ()
{
for (j=0; j<9; j++)
if (!V[X%Primes[j]+Plus[j]])
return 0;
return 1;
}
int main ()
{
for (i=1; i<=NR; i++)
{
f >> X;
Add();
}
f >> Q;
for (i=1; i<=Q; i++)
{
f >> X;
ANS+=Query();
}
g << ANS << '\n';
f.close();
g.close();
return 0;
}