Pagini recente » Cod sursa (job #947974) | Cod sursa (job #3267652) | Cod sursa (job #195705) | Cod sursa (job #1980938) | Cod sursa (job #1031042)
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <string>
#include <stdlib.h>
#include <assert.h>
#include <time.h>
#include <algorithm>
#include <vector>
#include <cstdio>
#include <cstring>
#include <fstream>
#include <queue>
#include<cstdlib>
using namespace std;
#define MAXN 10000
long long int v[276998];
int caut(int li, int ls, long long int x)
{
if (li <= ls)
{
int m = (li + ls) / 2;
if ( v[m] == x )
{
return 1;
}
else
if ( v[m] > x )
caut(li, m-1, x);
else
caut(m+1, ls, x);
}
else
return -1;
}
int compare(const void *a, const void *b)
{
return (*(long long int *)a - *(long long int *)b);
}
int main()
{
long long int x;
FILE *f = fopen("dtcsu.in", "r");
FILE *g = fopen("dtcsu.out", "w");
int val = 276997;
for (int i = 0; i < val; i++)
fscanf(f, "%lld", &v[i]);
int n;
fscanf(f, "%d", &n);
int nr = 0;
qsort(v, val, sizeof(long long int), compare);
for (int i = 0; i < n; i++)
{
fscanf(f, "%lld", &x);
if (caut(0, val, x) == 1)
nr++;
}
fprintf(g, "%d", nr);
fclose(f); fclose(g);
return 0;
}