A31324.1串

入门

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

一个数组被分为nn个空间,从左往右编号为1,2,3n1,2,3\dots n,每个空间只有可能出现两个数字10

你可以无限制执行以下操作

  • 选择一个数字为1的空间aia_i,将数字1挪动至左侧第一个数值为0的空间aja_j(j<i)(j < i)
  • 移动过后该空间数字变为0

现在你需要将所有的1连接在一块,任何1之间不包含任何数字0,请问最少需要操作多少次。

输入格式

  • 第一行包含一个整数 nn ( 2n502 \le n \le 50 ) - 单元格数;
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n ( 0ai10 \le a_i \le 1 )。

在每个数组中至少有一个1出现

输出格式

打印一个整数xx - 代表必须执行的最小操作数

输入输出样例

  • 输入#1

    8 
    0 1 1 1 0 1 1 0

    输出#1

    1
  • 输入#2

    6
    0 1 0 0 0 0

    输出#2

    0
  • 输入#3

    6
    1 1 1 1 1 1 

    输出#3

    0

说明/提示

在第一个例子中,您可以在下标为 77 的空间中执行操作。左边最近数值为0的空间是下标为 55 的空间,因此1会移动到那里。之后,所有的1连在了一起。

在第二个例子中,所有的1已经连在了一起,第三个例子也是如此。

首页