Pagini recente » Cod sursa (job #724152) | mf_boss | Cod sursa (job #1482861) | Cod sursa (job #836330) | Cod sursa (job #2784006)
#include <bits/stdc++.h>
using namespace std;
struct InParser {
FILE *fin;
char *buff;
int sp;
char read_ch() {
++sp;
if (sp == 4096) {
sp = 0;
fread(buff, 1, 4096, fin);
}
return buff[sp];
}
InParser(const char *nume) {
fin = fopen(nume, "r");
buff = new char[4096]();
sp = 4095;
}
InParser& operator >> (int64_t &n) {
char c;
n = 0;
while (!isdigit(c = read_ch()) && c != '-');
int64_t sgn = 1;
if (c == '-') {
n = 0;
sgn = -1;
} else {
n = c - '0';
}
while (isdigit(c = read_ch())) {
n = 10 * n + c - '0';
}
n *= sgn;
return *this;
}
void close() {
fclose(fin);
}
};
InParser fin("dtcsu.in");
ofstream fout("dtcsu.out");
/* const int MASK = (1 << 22) - 1;
bitset<1 + MASK> filter; */
void test_case() {
unordered_set<int64_t> S;
for (int i = 1; i <= 276997; ++i) {
int64_t x;
fin >> x;
S.emplace(x);
}
int64_t q;
fin >> q;
int ans = 0;
for (int i = 1; i <= q; ++i) {
int64_t x;
fin >> x;
ans += S.count(x);
}
fout << ans << '\n';
}
int main(){
int t = 1;
for (int tc = 1; tc <= t; ++tc) {
test_case();
}
fin.close();
fout.close();
return 0;
}