题目描述
给定一个包含n个整数的数列{An}和包含m个不重复整数的数列{Bm},输出既包含于{An}也包含于{Bm}的整数的个数K。
输入格式
共4行,第1行仅包含一个正整数n,第2行包含n个整数Ai,两两之间用一个空格分隔,第3行仅包含一个正整数m,第4行包含m个整数Bi,两两之间用一个空格分隔。
输出格式
仅包含一个整数k。
样例输入
5
1 2 3 4 5
3
3 4 1
样例输出
3
问题提示
【数据范围】
0<n≤100,000 , 0<m≤50,000 , 0≤Ai,Bi≤1,000,000,000
我的代码:
#include<bits/stdc++.h>
using namespace std;
int n,m,x;vector<int> a;vector<int> b;vector<int> ans;
main(){
cin>>n;for(int i=1;i<=n;i++)cin>>x,a.push_back(x);
cin>>m;for(int i=1;i<=m;i++)cin>>x,b.push_back(x);
set_intersection(a.begin(),a.end(),b.begin(),b.end(),inserter(ans,ans.begin()));
cout<<ans.size();
}
样例没过,求调