Avin is observing the cars at a crossroads. He finds that there are n cars running in the east-west direction with the i-th car
passing the intersection at time ai . There are another m cars running
in the north-south direction with the i-th car passing the
intersection at time bi . If two cars passing the intersections at the
same time, a traffic crash occurs. In order to achieve world peace and
harmony, all the cars running in the north-south direction wait the
same amount of integral time so that no two cars bump. You are asked
the minimum waiting time. Input
The first line contains two integers n and m (1 ≤ n, m ≤ 1, 000). The second line contains n distinct integers ai (1 ≤ ai ≤ 1, 000). The
third line contains m distinct integers bi (1 ≤ bi ≤ 1, 000). Output
Print a non-negative integer denoting the minimum waiting time. Sample Input1 1 1 1 1 2 2 1 3
Sample Output
1 0
这种知道怎么写却没暴力写出来的题目就很难受呜呜呜
#include<iostream>
#include<string.h>
using namespace std;
int main(){
int n,m;
int a[10010],b[10010],vis[10010];
while(cin>>n>>m){
memset(vis,0,sizeof(vis));
for(int i=0;i<n;i++){
cin>>a[i];
vis[a[i]]=1;
}
for(int i=0;i<m;i++){
cin>>b[i];
}
int ans=0;
for(int i=0;i<m;i++){
if(vis[b[i]+ans]==1){
i=0;
ans++;
}
}
cout<<ans<<endl;
}
return 0;
}