Pagini recente » Cod sursa (job #1590357) | Cod sursa (job #1142814) | Cod sursa (job #944424) | Cod sursa (job #1577312) | Cod sursa (job #1973215)
#include <cstdio>
#include <ctype.h>
const int HASH = 30103;
const int WHAT = 276997;
const int HASH2 = 1000000009;
const int BUFF = 4096;
int v[HASH][6];
int size[HASH];
FILE *fin;
int curr = BUFF - 1;
char buff[BUFF];
char getch() {
curr++;
if(curr == BUFF) {
fread(buff, 1, BUFF, fin);
curr = 0;
}
return buff[curr];
}
char ch;
long long nr;
long long getnr() {
ch = getch();
while(!isdigit(ch))
ch = getch();
nr = 0LL;
while(isdigit(ch)) {
nr = nr * 10 + ch - '0';
ch = getch();
}
return nr;
}
int main() {
int rez, q, nr = 0, j, box, i;
long long x;
rez = 0;
fin = fopen("dtcsu.in", "r");
for(i = 0; i < WHAT; ++i) {
x = getnr();
if(x % 2 == 1) {
x = x % HASH2;
v[x % HASH][size[x % HASH]] = x;
size[x % HASH]++;
++nr;
}
}
q = getnr();
for(i = 0; i < q; ++i) {
x = getnr();
if(x > 0) {
x = x / (x & (-x));
x = x % HASH2;
j = 0;
box = x % HASH;
while(j < size[box] && v[box][j] != x)
++j;
if(j < size[box])
++rez;
}
}
fclose(fin);
FILE *fout = fopen("dtcsu.out", "w");
fprintf(fout, "%d", rez);
fclose(fout);
return 0;
}