首页 > 试题广场 >

相助(easy)

[编程题]相助(easy)
  • 热度指数:2921 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
此题为E题的easy版,只有的数据范围不同。
给你一个 个正整数组成的数组 a ,你每次操作可以选择一对 ,满足 ,且 ,将 { } 这段数删除,操作之后数组变为 { }。文文想知道最少要做多少次操作,才能将数组变为空。


输入描述:
第一行一个正整数输入  
第二行依次输入  个正整数 每个数之间以空格分开。


输出描述:
输出一行,代表最少的操作次数,如果无论如何都无法使数组为空就输出 -1。
示例1

输入

5
0 1 0 1 1

输出

2

说明

例如,n 为 5,数组为,第一次操作我们可以选择 把这一段删除后数组变为 \{1, 1\},第二次操作我们可以选择 i = 1j = 2,把这一段删除后数组变为空,操作了两次。
示例2

输入

5
1 1 1 1 0

输出

-1

备注:

这道题你会答吗?花几分钟告诉大家答案吧!