TLE超时用scanf神奇的解决了。。。
用set超内存,囧,二分解决了
果然ACM好变态,老老实实用最原始的方法
#include<iostream>
#include<set>
#include<algorithm>
#include<string>
#include<stdio.h>
#define N 1000005
int m,n;
int tmp;
int ja[N];
int nsell;
bool serach(int v)
{
int st=0,ed=m-1;
int md;
bool flag=false;
while (st<=ed){
md=(st+ed)/2;
if(ja[md]>v){
ed=md-1;
}else if(ja[md]<v){
st=md+1;
}else{
flag=true;
break;
}
}
return flag;
}
int main()
{
while (std::cin>>m>>n&&(m!=0||n!=0)){
for(int i=0;i!=m;i++){
scanf("%d",&ja[i]);
}
for(int i=0;i!=n;i++){
scanf("%d",&tmp);
if(serach(tmp)){
nsell++;
}
}
std::cout<<nsell<<std::endl;
memset(ja,0,sizeof(ja));
nsell=0;
}
}