#HK5471. 「UOI 2017 Stage 4 Day1」衣柜
「UOI 2017 Stage 4 Day1」衣柜
题目描述
题目译自 Ukrainian Olympiads in Informatics 2017 Stage 4 Day1 T3. Шафа-купе
最近,瓦西亚买了一个新的推拉门衣柜。他发现衣柜里正好有 个相同的隔间和 扇门,这些门分两排排列。每扇门的大小都与一个隔间相符,也就是说,一扇门正好能遮住一个隔间。这让瓦西亚觉得很奇怪,于是他提出了一个更奇怪的问题:「需要多少次操作,才能让所有装有东西的隔间都被门遮住,而其他隔间都敞开着?」。在一次操作中,瓦西亚可以将任意一扇门向左或向右移动一个隔间的距离,前提是该排的目标位置是空的。如果一个隔间至少被一扇门遮住,则认为它是关闭的;否则,它是敞开的。

请编写一个程序,根据门的初始位置以及哪些隔间装有东西的信息,找出瓦西亚能让所有装有东西的隔间被遮住、而其他隔间都敞开所需的最少操作次数。
输入格式
输入文件的第一行包含一个自然数 ,表示输入数据集的数量。每个数据集由四行定义。
第一行包含两个数 和 , ,分别表示隔间的数量和门的总数。
接下来的两行每行包含 个数字,表示相应位置是否有门( - 否, - 是)。
该数据集的最后一行包含 个数字,表示相应的隔间是否装有东西( - 否, - 是)。
输出格式
向输出文件输出 个数字,表示对应每个输入数据集,瓦西亚所需的最少操作次数。如果在某个数据集中无法达到目标布局,则对该数据集输出 。
2
5 3
1 0 1 0 0
0 1 0 0 0
1 0 0 0 1
3 4
1 1 1
0 1 0
1 0 1
3
-1
在第一排,需要将右边的门向右移动 个位置,而在第二排,唯一的门需要向左移动 个位置。总共需要 次操作。
数据范围与提示
- 对于 的数据,。
- 对于 的数据,第二排没有门。
- 对于 的数据,;第二排最多有两扇门。
- 对于 的数据,。