Pagini recente » Cod sursa (job #678140) | Cod sursa (job #116722) | Cod sursa (job #2168575) | Cod sursa (job #2262521) | Cod sursa (job #1016364)
Utilizator |
Duta Vlad Vman |
Data |
26 octombrie 2013 09:26:51 |
Problema |
Dtcsu |
Scor |
Ascuns |
Compilator |
cpp |
Status |
done |
Runda |
|
Marime |
0.8 kb |
#include <cstdio>
#include <bitset>
using namespace std;
#define ll long long
int Q;
ll X;
int F = 3999991;
bitset<4000000> filter;
int main() {
freopen("dtcsu.in","r", stdin);
freopen("dtcsu.out", "w", stdout);
for (int i=0; i<276997; ++i) {
scanf("%lld", &X);
filter.set(X % F);
}
scanf("%d", &Q);
int total = 0;
for (int i=0; i<Q; ++i) {
scanf("%lld", &X);
if (X==0 || !filter.test(X % F)) {
continue;
}
ll a;
while ((X&1)==0) X>>=1;
while ((a=X/15)*15==X) X = a;
while ((a=X/3)*3==X) X = a;
while ((a=X/5)*5==X) X = a;
while ((a=X/7)*7==X) X = a;
while ((a=X/11)*11==X) X = a;
total += (X == 1);
}
printf("%d\n", total);
return 0;
}