|  | 
|  | 
| back to board | Wrong on test 1 ???????? #include <iostream>using namespace std;
 int v[4001],w[4001],q[4001];
 int se_gaseste (int val , int inceput , int sfarsit,int v[4001]) {
 int mijloc=(inceput+sfarsit)/2;
 if (v[mijloc]==val) return 1;
 if (inceput >= sfarsit) return 0;
 if (val>v[mijloc]) se_gaseste(val,mijloc+1,sfarsit,v);
 else se_gaseste(val,inceput,mijloc-1,v);
 
 }
 int main()
 {
 int n,m,t,nr=0;
 cin>>n;
 for (int i=1;i<=n;i++)
 cin>>v[i];
 cin>>m;
 for (int i=1;i<=m;i++)
 cin>>w[i];
 cin>>t;
 for (int i=1;i<=t;i++)
 cin>>q[i];
 for (int i=1;i<=n;i++) {
 if ( se_gaseste(v[i],1,m,w) && se_gaseste(v[i],1,t,q)) nr++;
 }
 cout<<nr;
 return 0;
 }
 
 
 
 i tested this algorithm on many exemples and all works how i can't pass the first test, please help , thx.
 A little explication : i take every number from first vector and i check if exist in last both vectors . i use binary search
 
 Edited by author 22.05.2020 16:12
 | 
 | 
|