#JXGQ25003C. 帮派的头目

帮派的头目

题目描述

强哥的帮派控制着一条长长的街道,这条街道可以看作一条无尽的数轴。

帮派中有 mm 名核心成员(称为"头目"),他们负责管理剩下的 nn 名普通成员。

每个帮派成员都住在一个独一无二的位置,也就是说没有两个成员的坐标是相同的。

帮派有一个特殊的规矩:当普通成员需要联系上级时,他的请求只会传给离他最近的那个头目。如果有多个头目距离相同,那么坐标较小的头目会收到请求。

有一天,头目们想知道:如果每个普通成员当天发出请求,会有多少普通成员会选择联系指定的头目?换句话说,你需要为每个头目 ii 找到 aia_i——当所有成员都在各自据点时,会有多少普通成员选择联系第 ii 名头目?

头目不能联系自己或其他头目。

输入格式

第一行两个正整数 n,mn,m

第二行 n+mn+m 个正整数 x1,x2,,xn+mx_1,x_2,\cdots,x_{n+m},其中 xix_i 表示第 ii 位成员的据点位置(据点的位置都是按从小到大的顺序给出的)。

第三行 n+mn+m 个整数 t1,t2,,tn+mt_1,t_2,\cdots,t_{n+m} 表示每个成员的身份,如果 ti=1t_i=1,那么第 ii 个成员是头目,否则他是普通成员。

保证 ti=1t_i=1ii 的数量恰为 mm

输出格式

一行 mm 个整数 a1,a2,,ama_1,a_2,\cdots,a_m,其中 aia_i 是第 ii 名头目的答案。据点坐标第 ii 小的头目编号为 ii

输入样例1

3 1
1 2 3 10
0 0 1 0

输出样例1

3

解释: 只有一个头目,这意味着所有 nn 名普通成员的请求都会传给他。

输入样例2

3 2
2 3 4 5 6
1 0 0 0 1

输出样例2

2 1

解释: 第一个头目住在坐标为 22 的点,第二个头目住在坐标为 66 的点。住在坐标 33 的普通成员最接近第一个头目,而住在坐标 55 的普通成员最接近的是第二个头目。住在坐标 44 的普通成员与两个头目的距离相同,但因为第一个头目的坐标较小,所以这个成员的请求会传给第一个头目。

输入样例3

1 4
2 4 6 10 15
1 1 1 1 0

输出样例3

0 0 0 1

解释: 有一个普通成员,离他最近的是第四个头目。

数据规模与约定

对于 40%40\% 的数据,1n,m10001\leq n,m\leq 1000

对于另外 30%30\% 的数据,头目全部在一个区间内,即存在区间 [l,r][1,n+m][l,r]\subseteq [1,n+m],满足 rl+1=mr-l+1=m,且对于所有 lirl\leq i\leq r,均有 ti=1t_i=1

对于 100%100\% 的数据,1n,m1051\leq n,m\leq 10^51x1<x2<<xn+m1091\leq x_1<x_2<\cdots<x_{n+m}\leq 10^90ti10\leq t_i\leq 1ti=1t_i=1ii 恰有 mm 个。