#P1075B. Taxi drivers and Lyft (※)

Taxi drivers and Lyft (※)

题目描述

帕洛阿尔托是一座与众不同的城市,因为它是一条无尽的坐标线。它还因 Lyft 5 级办公室而闻名。

Lyft 已经变得如此受欢迎,以至于该市所有mm出租车司机现在都在使用它,他们每天都要接送该市其他居民--nn乘客。

帕洛阿尔托的每个居民(包括出租车司机)都生活在自己独特的位置上(没有一对居民的坐标是相同的)。

Lyft 系统非常聪明:当乘客呼叫出租车时,他的呼叫不会发送给所有出租车司机,而只会发送给离他最近的司机。如果有多个距离相同,则会选择坐标较小的出租车司机。

但有一天早上,出租车司机们想知道:如果他们是当天第一个叫车的人,有多少乘客会叫指定的出租车司机?换句话说,你需要为每个出租车司机找到ii这个数字aia_{i}--当所有司机和乘客都在家时,有多少乘客会叫ii这个出租车司机?

出租车司机既不能接送自己,也不能接送其他出租车司机。

输入描述

第一行包含两个整数nnmm1n,m1051 \le n,m \le 10^5)--乘客人数和出租车司机人数。

第二行包含n+mn + m个整数x1,x2,,xn+mx_1, x_2, \ldots, x_{n+m}1x1<x2<<xn+m1091 \le x_1 < x_2 < \ldots < x_{n+m} \le 10^9),其中xix_i是第ii位居民居住的坐标。

第三行包含 n+mn + m个整数 t1,t2,,tn+mt_1, t_2, \ldots, t_{n+m}0ti10 \le t_i \le 1)。如果是ti=1t_i = 1,那么第ii个居民是出租车司机,否则是ti=0t_i = 0

保证ii中有ti=1t_i = 1的个数等于mm

输出描述

打印 mm个整数 a1,a2,,ama_1, a_2, \ldots, a_{m},其中 aia_i是第 ii个出租车司机的答案。如果在所有出租车司机中,出租车司机住在第ii个最小的坐标上,那么他的数字就是ii(请参阅示例以更好地理解)。

样例

3 1
1 2 3 10
0 0 1 0
3
3 2
2 3 4 5 6
1 0 0 0 1
2 1
1 4
2 4 6 10 15
1 1 1 1 0
0 0 0 1

说明

在第一个例子中,我们只有一个出租车司机,这意味着来自 nn 个乘客的订单都会转到他那里。

在第二个例子中,第一个出租车司机住在坐标为22的点,第二个司机住在坐标为66的点。显然,距离住在33坐标点的乘客最近的出租车司机是第一位,而距离住在55坐标点的乘客最近的出租车司机是第二位。住在44坐标上的乘客与第一位和第二位出租车司机的距离相同,但由于第一位出租车司机的坐标较小,该乘客的呼叫将转给第一位出租车司机。

在第三个例子中,我们有一位乘客,离他最近的出租车司机是第四位。