CF1216F.Wi-Fi

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你是一名宿舍的系统管理员,宿舍沿着一条直走廊有 nn 个房间,房间编号从 11 到 nn。

你需要将所有 nn 个房间连接到互联网。

你可以直接将每个房间连接到互联网,第 ii 个房间直接连接的费用为 ii 个硬币。

有些房间还配有路由器插槽。在第 ii 个房间放置一个路由器的费用也是 ii 个硬币。你不能在没有插槽的房间放置路由器。当你在第 ii 个房间放置一个路由器时,会将编号从 $ \max(1,~i - k) $ 到 $ \min(n,~i + k) $(包括两端)所有的房间都连接到互联网,其中 kk 是路由器的覆盖范围,所有路由器的 kk 值相同。

请计算将所有 nn 个房间连接到互联网的最小总费用。你可以假设有插槽的房间数量不会超过你拥有的路由器数量。

输入格式

输入的第一行包含两个整数 nn 和 kk(1≤n,k≤2⋅1051 \le n, k \le 2 \cdot 10^5)——房间的数量和每个路由器的覆盖范围。

输入的第二行包含一个长度为 nn 的字符串 ss,仅由数字 00 和 11 组成。如果第 ii 个字符为 '1',则第 ii 个房间有路由器插槽;如果为 '0',则不能在第 ii 个房间放置路由器。

输出格式

输出一个整数——将所有 nn 个房间连接到互联网的最小总费用。

输入输出样例

  • 输入#1

    5 2
    00100

    输出#1

    3
  • 输入#2

    6 1
    000000

    输出#2

    21
  • 输入#3

    4 1
    0011

    输出#3

    4
  • 输入#4

    12 6
    000010000100

    输出#4

    15

说明/提示

在第一个样例中,只需在第 33 个房间放置一个路由器,所有房间都能连接到互联网,总费用为 33。

在第二个样例中,所有房间都没有插槽,因此需要将每个房间都直接连接,总费用为 1+2+3+4+5+6=211 + 2 + 3 + 4 + 5 + 6 = 21。

在第三个样例中,需要将第 11 个房间直接连接,并在第 33 个房间放置一个路由器,总费用为 1+3=41 + 3 = 4。

在第四个样例中,需要在第 55 和第 1010 个房间放置路由器,所有房间都能连接到互联网,总费用为 5+10=155 + 10 = 15。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页