Răspuns :
#include <iostream>
using namespace std;
int a[100001], b[100001], c[100001];
int gasit(int d, int s, int key, int * v)
{
if(s < d) return 0;
int mij = (d + s) / 2;
if(key < v[mij]) return gasit(d, mij-1, key, v);
else if(key > v[mij]) return gasit(mij+1, s, key, v);
else return 1;
}
int main()
{
int n, i, ind=0, num, ind2=0;
cout << "n="; cin >> n;
cout << " dati elementele multimii A: \n";
for (i=1; i<=n; ++i)
cin >> a[i];
cout << " dati elementele multimii B: \n";
for (i=1; i<=n; ++i)
{
cin >> num;
if (gasit(1,n,num,a)) { ++ind; b[ind]=num; }
}
cout << " dati elementele multimii C: \n";
for (i=1; i<=n; ++i)
{
cin >> num;
if (gasit(1,ind,num,b)) { ++ind2; c[ind2]=num; }
}
if(ind2==0) cout << -1;
else
{
for (i=1; i<=ind2; ++i)
cout << c[i] << " ";
}
return 0;
}