A96431.换换删删

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给你一个只包含 01 的字符串 ss。你可以对 ss 做两种操作:

  • 删除:删掉任意一个字符(代价 11)。
  • 交换:交换任意两位置的字符(代价 00,也就是免费)。

经过若干操作后得到一个新串 tt。我们要求 tt的:

tt 和原串 ss 左对齐,从左到右一位一位地比:
tt 的每一位都要和 ss 的同位置不同0110)。
如果 ttss 短,只比较 ss 的前 t|t| 位;空串也算合格。

你的任务是:最小化删除的次数,让得到的 tt 是好串,并输出这个最小删除次数。

输入格式

一行,一个二进制字符串 ss1s2×1051 \le |s| \le 2\times 10^5si0,1s_i\in{0,1})。

输出格式

输出一个整数,表示使 tt 成为好串所需的最小删除代价。

输入输出样例

  • 输入#1

    0

    输出#1

    1
  • 输入#2

    011
    

    输出#2

    1
    
  • 输入#3

    0101110001
    

    输出#3

    0
  • 输入#4

    111100
    

    输出#4

    4

说明/提示

1s2×1051 \le |s| \le 2\times 10^5

首页