Cod sursa(job #1030738)

Utilizator miu_mik93FMI - Paduraru Miruna miu_mik93 Data 15 noiembrie 2013 16:52:34
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda FMI No Stress 4 Marime 1.12 kb
#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]); 
	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;
}