Search II
You are given a sequence of n integers S and a sequence of different q integers T. Write a program which outputs C, the number of integers in T which are also in the set S.
Input
In the first line n is given. In the second line, n integers are given. In the third line q is given. Then, in the fourth line, qintegers are given.
Output
Print C in a line.
Constraints
- Elements in S is sorted in ascending order
- n ≤ 100000
- q ≤ 50000
- 0 ≤ an element in S ≤ 109
- 0 ≤ an element in T ≤ 109
Sample Input 1
5 1 2 3 4 5 3 3 4 1
Sample Output 1
3
Sample Input 2
3 1 2 3 1 5
Sample Output 2
0
Sample Input 3
5 1 1 2 2 3 2 1 2
Sample Output 3
2
-----------------
#include<cstdio>
#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;
int main(){
int n;
cin>>n;
vector<int> vc(n);
for(int i=0;i<n;i++)
cin>>vc[i];
int ans = 0,q,a;
cin>>q;
sort(vc.begin(),vc.end());
while(q--){
cin>>a;
if(binary_search(vc.begin(),vc.end(),a))
ans++;
}
printf("%d\n",ans);
}