二分 ALDS1_4_B

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);	
	
}
发布了13 篇原创文章 · 获赞 1 · 访问量 453

猜你喜欢

转载自blog.csdn.net/zqhf123/article/details/104215442