Traffic
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 Input
1 1 1 1 1 2 2 1 3
Sample Output
1 0
这道题直接标记东西路口通过车辆的时间,因为东西方向不需要等待,然后将南北等待的时间从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;
}