#J2026M8. [CSP-J 2026 模拟二] 双色驿站(relay)

[CSP-J 2026 模拟二] 双色驿站(relay)

题目描述

一条直线上从左到右排列着 nn 个驿站,编号 11 到 nn。第 ii 个驿站的标志颜色 cic_i 是 0 或 1,停靠一次需要支付 aia_i 单位费用(费用可能为 00)。

信使起点是位置 00(不属于驿站,没有颜色,费用为 00),目标是停靠到第 nn 个驿站。

从当前位置 jj 可以跳到任意满足 j<i≤j+Kj<i\le j+K 的驿站 ii。每次跳跃都要在终点停靠并支付该站费用。为避免干扰,连续两次停靠的驿站必须颜色不同。从位置 00 出发的第一次停靠不受颜色限制。

信使可以跳过驿站,但只能向右前进。请计算到达第 nn 个驿站需要支付的最少总费用;若无法到达则输出 −1-1。

输入格式

第一行两个整数 n,Kn,K。

第二行一个长度为 nn 的 01 字符串 cc,依次表示各站颜色。

第三行 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

输出格式

一行一个整数,表示最少费用,或 −1-1。

样例 1

5 2
00101
3 1 4 2 6
13

样例解释

可以依次停靠 2→3→4→52\to3\to4\to5,颜色依次为 0,1,0,10,1,0,1,费用为 1+4+2+6=131+4+2+6=13。其它合法方案不能更便宜。

数据范围与部分分

保证 1≤K≤n≤2×1051\le K\le n\le2\times10^5,ci∈{0,1}c_i\in\{0,1\},0≤ai≤1090\le a_i\le10^9。

子任务 分值 特殊限制 测试点
1 20 n≤16, K≤5n\le16,\ K\le5 1–4
2 30 n≤2500n\le2500 5–10
3 50 无额外限制 11–20

所有费用之和可能超过 32 位整数范围。