传统题 1000ms 256MiB

清零

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

一个 N 位的二进制数,可能有前导 0。

现在你的任务是把这个数清零,即把所有位都变成 0。

首先,你指定一个整数 K。

然后,每次操作,你可以选择任意连续的 K 位全部取反,即把其中的 0 变成 1,1 变成 0。

注意,K 的值一旦指定后就不能发生变化,即每次操作你必须选择 K 位。

显然,你初始时指定的 K 值不同,可能导致你完成任务所操作的次数不同。

问:指定 K 为何值,可以使你的操作次数最少?输出最少操作次数,并输出 K 值。如果有多个 K 值,你只需要输出最小的那个 K。

Input

第一行:一个整数 N

第二行:一个 N 位的二进制数(可能有前导 0)

Output

一行,两个整数,分别表示最少操作次数和对应的最小的 K

输入样例

5
11011

输出样例

2 2

样例解释

最少操作 2 次,此时最小的 K=2,一种可能的操作方案如下:

11011 -> 00011

00011 -> 00000

虽然当 K=3 时,也可以完成任务,一种可能的操作方案如下:

11011 -> 00111

00111 -> 00000

但显然 K=2 更小。

数据范围

30% 的数据:1 ≤ N ≤ 10

60% 的数据:1 ≤ N ≤ 1000

100% 的数据:1 ≤ N ≤ 5000

2025-09-27

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-9-27 7:40
结束于
2025-9-27 12:10
持续时间
4.5 小时
主持人
参赛人数
18