欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1440A.Buy the String
Buy the String
题目描述
给定四个整数 、、 和 ,以及一个长度为 的二进制字符串 。
二进制字符串是仅由字符 和 组成的字符串。
你可以将字符串 中的任意字符进行更改(更改后字符串仍需为二进制字符串)。每更改一个字符需要支付 个硬币。
在进行若干次(也可以不进行)更改后,你需要购买整个字符串。购买字符串时,你需要购买其中的每一个字符。购买字符 需要支付 个硬币,购买字符 需要支付 个硬币。
请你计算,购买该字符串所需支付的最少硬币数。
输入格式
第一行包含一个整数 (),表示测试用例的数量。接下来的 行描述每个测试用例。
每个测试用例的第一行包含四个整数 、、、()。
每个测试用例的第二行包含一个长度为 的二进制字符串 。
输出格式
对于每个测试用例,输出一个整数,表示购买该字符串所需支付的最少硬币数。
说明/提示
在第一个测试用例中,你可以直接购买所有字符并支付 个硬币,因为字符 和 的价格都是 个硬币。
在第二个测试用例中,你可以先将第 个和第 个字符从 改为 ,为此支付 个硬币。此时字符串变为 。然后你可以购买该字符串,支付 个硬币。总共需要支付 个硬币。
由 ChatGPT 4.1 翻译
样例
6
3 1 1 1
100
5 10 100 1
01010
5 10 1 1
11111
5 1 10 1
11111
12 2 1 10
101110110101
2 100 1 10
00
3
52
5
10
16
22
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |