Cod sursa(job #1040092)

Utilizator Impaler_009Mihai Nitu Impaler_009 Data 23 noiembrie 2013 22:47:36
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <cstdio>
#include <bitset>


#define mod 666013
#define buffer_size 1<<16

using namespace std;

FILE *fin = fopen("dtcsu.in","r");
ofstream fout("dtcsu.out");

string buffer;
bitset <mod> s;

int div[5] = {2,3,5,7,11},nr;
long long x;
int n;

int main()
{
    for (int i=1; i<=276997;++i)
    {
        fscanf (fin,"%lld",&x);
        s[x%mod] = 1;
    }

    fscanf (fin,"%lld",&n);

    for (int i=1; i<=n; ++i)
    {
        fscanf (fin,"%lld",&x);

        if (s[x%mod] == 0) continue;

        for (int i=0; i<5; ++i)
        {
            while (x%div[i]==0) x/=div[i];
        }

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

    fout<<nr;
}