Cod sursa(job #3319055)

Utilizator Cezar2009Cezar Mihai Titihazan Cezar2009 Data 30 octombrie 2025 13:31:03
Problema Dtcsu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
//https://www.infoarena.ro/problema/dtcsu

//#pragma GCC optimize ("Ofast")
//#pragma GCC optimize ("fast-math")
//#pragma GCC optimize ("unroll-loops")
//#define _USE_MATH_DEFINES

#include <iostream>
#include <fstream>
#include <vector>
//#include <cstring>
//#include <cmath>
//#include <bitset>
//#include <queue>
//#include <stack>
//#include <utility>
//#include <algorithm>
//#include <string>
//#include <map>
//#include <unordered_map>
//#include <set>
//#include <unordered_set>
//#include <cstdint>
//#include <climits>
//#include <iomanip>
//#include <cstdio>
//#include <tuple>

using namespace std;

ifstream fin("dtcsu.in");
ofstream fout("dtcsu.out");

const int MOD = 5003;
const int NRMAX = 276997;

vector<uint64_t> v[MOD];

void adg(uint64_t x)
{
	int nr = x % MOD;
	v[nr].push_back(x);
}

bool caut(uint64_t x)
{
	int nr = x % MOD;
	for (const auto& it : v[nr])
	{
		if (it == x)
			return true;
	}
	return false;
}

int main()
{
    //ios_base::sync_with_stdio(false);
    //cin.tie(nullptr);
    //cout.tie(nullptr);

	int i, rez = 0, q;
	uint64_t x;

	for (i = 1; i <= NRMAX; ++i)
	{
		fin >> x;
		adg(x);
	}

	fin >> q;
	for (i = 1; i <= q; ++i)
	{
		fin >> x;
		rez += (int)caut(x);
	}

	fout << rez;

    return 0;
}