#include"iostream"
#include"map" //二分查找
#include"vector"
#include"set"
#include"list"
#include"algorithm"
using namespace std;
const int maxn=100000+10;
int a[maxn];
int n,m;
int find(int t)
{
int mid=(n-1)/2;
int left=0;
int right=n;
while(right>=left&&a[mid]!=t)
{
if(t<a[mid]) { right=mid-1;mid=(right+left)/2;}
else { left=mid+1;mid=(left+right)/2;}
}
if(a[mid]==t) return 1;
else return 0;
}
int main()
{
//freopen("a.txt","r",stdin);
while(cin>>n>>m&&(n+m))
{
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
int pos=0;
for(int i=0;i<m;i++)
{
int fs;
cin>>fs;
if(find(fs)) pos++;
}
cout<<pos<<endl;
}
return 0;
}
HDOJ3763 二分查找
最新推荐文章于 2019-11-03 20:45:13 发布