6682: 倒垃圾
[Creator : ]
Description
一条街道可以看作一个数轴。
街道上住着 $n$ 个居民并设有 $m$ 个垃圾桶,每个居民的住所或垃圾桶占据一个位置。
已知,这 $n+m$ 个位置两两不同。
每个居民每天都会前往距离自己家最近的垃圾桶处倒垃圾。
如果这样的垃圾桶不唯一,则居民会优先选择前往位置坐标更小的垃圾桶处倒垃圾。
请你计算,对于每个垃圾桶,每天有多少居民在该垃圾桶处倒垃圾。
街道上住着 $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$。
第二行包含 $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$ 个垃圾桶处倒垃圾的居民数量。
请你在一行中输出 $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$。
所有测试点满足 $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