#1154. 小A的牛马生活
小A的牛马生活
题目描述
小A每天都有许多工作会议。他希望减少上班时长,于是老板给了他 张“会议取消券”。每张券可以取消一场会议,小A可以使用至多 张券,也可以保留一些券不用。
小A统计了接下来 天的会议安排。每天的时间被划分为 个时段,用一个 的 矩阵 表示: 表示第 天的第 个时段有一场会议, 表示该时段没有会议。
取消部分会议后,如果某天仍有会议,设当天最早和最晚的会议分别位于时段 ,则小A当天的上班时长为 。如果当天没有会议,则当天的上班时长为 。
例如,一天的会议安排为 ,在不取消会议时,上班时长为 ;如果当天只剩一场会议,上班时长为 。
请计算:使用至多 张会议取消券后,这 天的上班时长之和最小是多少?
输入格式
从文件 horse.in 中读入数据。
第一行包含两个整数 ,分别表示天数和每天的时段数。
接下来 行,每行包含 个整数,其中第 行的第 个整数为 。
最后一行包含一个整数 ,表示会议取消券的数量。
输出格式
输出到文件 horse.out 中。
输出一行,包含一个整数,表示最小的总上班时长。
样例 1 输入
4 4
0 0 0 1
1 0 0 1
1 1 0 1
0 0 0 1
3
样例 1 输出
4
样例 1 解释
取消第二天的第一场会议,以及第三天的前两场会议。这样每天都恰好剩下一场会议,每天上班时长均为 ,总上班时长为 。
样例 2 输入
5 5
0 1 0 1 0
1 1 0 1 1
1 1 0 1 0
0 0 0 1 1
1 1 0 1 1
6
样例 2 输出
9
样例 3
见选手目录下的 horse/horse3.in 与 horse/horse3.ans。
该样例满足第 个测试点的限制,且 。
样例 4
见选手目录下的 horse/horse4.in 与 horse/horse4.ans。
该样例满足第 个测试点的限制,且 。
样例 5
见选手目录下的 horse/horse5.in 与 horse/horse5.ans。
该样例满足第 个测试点的限制,且 ,每天至多有两场会议。
样例 6
见选手目录下的 horse/horse6.in 与 horse/horse6.ans。
该样例满足第 个测试点的限制,且 。
数据范围
对于所有测试数据,保证 ,,。
共有 个测试点,每个测试点 分。
| 测试点 | 特殊性质 | ||
|---|---|---|---|
| 无 | |||
| 每天至多两场会议 | |||
| 无 | |||
“每天至多两场会议”指对于每个 ,都有 。
统计
相关
在下列比赛中: