Cod sursa(job #1032270)

Utilizator darrenRares Buhai darren Data 15 noiembrie 2013 19:09:54
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda FMI No Stress 4 Marime 0.8 kb
#include <fstream>
#include <algorithm>
#include <unordered_set>

using namespace std;

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

char parse[1 << 18], *now;
inline void verify()
{
	if (*now == 0)
	{
		fin.get(parse, 1 << 18, '\0');
		now = parse;
	}
}
long long get()
{
	while (!(*now >= '0' && *now <= '9'))
	{
		++now;
		verify();
	}
	
	long long num = 0;
	while (*now >= '0' && *now <= '9')
	{
		num = num * 10 + (*now - '0');
		++now;
		verify();
	}
	return num;
}

unordered_set<long long> S;
int Q, result;

int main()
{
	now = parse;
	verify();
	
	long long num;
	for (int i = 1; i <= 276997; ++i)
	{
		num = get();
		S.insert(num);
	}
	
	Q = get();
	for (int i = 1; i <= Q; ++i)
	{
		num = get();
		if (S.find(num) != S.end())
			++result;
	}
	
	fout << result << '\n';
	
	fin.close();
	fout.close();
}