Pagini recente » Cod sursa (job #2297752) | Cod sursa (job #1058352) | Cod sursa (job #2674261) | Cod sursa (job #1314140) | Cod sursa (job #1502741)
#include <fstream>
#include <cstring>
#include <vector>
using namespace std;
ifstream fin("dtcsu.in");
ofstream fout("dtcsu.out");
const int MOD = 977;
char sir[25];
int Q, lg, sol;
long long N;
vector<long long> H[MOD + 5];
int verify(long long x)
{
if (H[x % MOD].size() == 0)
return 0;
int ok = 0, key = x % MOD;
for(vector<long long>::iterator it = H[key].begin(); it != H[key].end(); ++it)
if (*it == x)
{
ok = 1;
break;
}
return ok;
}
int main()
{
long long x;
for (int i = 1; i <= 276997; ++i)
{
fin.getline(sir + 1, 25);
lg = strlen(sir + 1);
x = 0LL;
for (int j = 1; j <= lg; ++j)
x = x * 10 + (long long)(sir[j] - '0');
H[x % MOD].push_back(x);
}
fin.getline(sir + 1, 25);
lg = strlen(sir + 1);
for (int i = 1; i <= lg; ++i)
Q = Q * 10 + (int)(sir[i] - '0');
while (Q--)
{
fin.getline(sir + 1, 25);
lg = strlen(sir + 1);
N = 0LL;
for (int i = 1; i <= lg; ++i)
N = N * 10 + (long long)(sir[i] - '0');
sol += verify(N);
}
fout << sol << '\n';
fin.close();
fout.close();
return 0;
}