Problem6682--倒垃圾

6682: 倒垃圾

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

一条街道可以看作一个数轴。
街道上住着 $n$ 个居民并设有 $m$ 个垃圾桶,每个居民的住所或垃圾桶占据一个位置。
已知,这 $n+m$ 个位置两两不同。
每个居民每天都会前往距离自己家最近的垃圾桶处倒垃圾。
如果这样的垃圾桶不唯一,则居民会优先选择前往位置坐标更小的垃圾桶处倒垃圾。
请你计算,对于每个垃圾桶,每天有多少居民在该垃圾桶处倒垃圾。

Input

第一行包含两个整数 $n,m$。
第二行包含 $n+m$ 个整数 $x_1,x_2,…,x_{n+m}$,表示所有居民住所以及垃圾桶的位置坐标。
第三行包含 $n+m$ 个整数 $t_1,t_2,…,t_{n+m}$,如果 $t_i=1$,则表示第 $i$ 个位置坐标处是垃圾桶,如果 $t_i=0$,则表示第 $i$ 个位置坐标处是居民住所。
输入保证,满足 $t_i=1$ 的 $i$ 的数量为 $m$。

Output

不妨按照位置坐标从小到大的顺序,将 $m$ 个垃圾桶编号 $1 \sim m$。
请你在一行中输出 $m$ 个整数 $a_1,a_2,…,a_m$,其中 $a_i$ 表示每天在第 $i$ 个垃圾桶处倒垃圾的居民数量。

Constraints

前三个测试点满足 $1≤n,m≤5$。
所有测试点满足 $1≤n,m≤10^5,\ 1≤x_1<x_2<…<x_{n+m}≤10^9,\ 0≤t_i≤1$。

Sample 1 Input

3 1
1 2 3 10
0 0 1 0

Sample 1 Output

3

Sample 2 Input

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

Sample 2 Output

2 1

Sample 3 Input

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

Sample 3 Output

0 0 0 1

Source/Category