每次肯定是对一段连续的 $0$ 或者 $1$ 进行操作.

对于一段连续的 $0$,要么直接变为 $1$,要么与右面的连续的 $1$ 交换.

如果与右面的 $1$ 翻转更加合适,那么就肯定会一直翻转,并在不能交换的时候变为 0.

否则,就会一直将子序列变为 $0$.

即 $ans=min(num[0]\times y,(num[0]-1)\times x+y)$

#include <cstdio>
#include <algorithm>
#define ll long long
#define setIO(s) freopen(s".in", "r" , stdin)
using namespace std;
ll x, y;
char str[300005];
int n ,a[2], i, pre = -1;
int main()
{
// setIO("input");
scanf("%d%lld%lld%s", &n, &x, &y, str + 1);
for(i = 1; i <= n ; ++ i)
{
int cur = str[i] - '0';
scanf("%d", &cur);
if(cur != pre) ++ a[cur], pre = cur;
}
printf("%lld\n", max(1ll*0, min(1ll * a[0] * y, 1ll * (a[0] - 1) * x + y)));
return 0;
}

  

最新文章

  1. oracle内存粒度
  2. chrome快捷键,让开发更快捷:
  3. 无需u盘和光盘安装linux
  4. html 页面 ajax 方法显示遮罩
  5. [PeterDLax著泛函分析习题参考解答]第2章 线性映射
  6. [Falcor] Retrieving Multiple Values
  7. POJ2002 二分查找&amp;哈希
  8. [html5] canvas 绘图:八卦图
  9. 牛客挑战赛30 小G砍树 树形dp
  10. MySQL之——崩溃-修复损坏的innodb:innodb_force_recovery
  11. MVC 2nd
  12. LNP环境下Nginx与PHP配合解析的原理
  13. OWASP TOP10(2017)
  14. 九个问题从入门到熟悉HTTPS
  15. 团队项目(第四周冲刺之二)—GG队
  16. Java8新特性 -- Lambda 方法引用和构造器引用
  17. OPENCV Linux安装
  18. java-----instanceof与getClass的区别
  19. 【微信小程序】转载:微信小程序之购物车功能
  20. CentOS 中安装nginx

热门文章

  1. 打包c++项目
  2. gradle springboot打包时忽略某个配置文件
  3. PostgreSQL 安装配置 (亲测可用)
  4. php 流
  5. 如何构建通用 api 中间层
  6. 最快理解 - IO多路复用:select / poll / epoll 的区别.
  7. C#--文件操作的一些技巧
  8. nodejs-EventEmitter
  9. 建议53:用状态模式美化代码,关于python-state工具包的理解
  10. 前端 自定义format函数