CF2149A.Be Positive

入门

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 nn 的数组 aa,其中每个元素均为 −1-1、00 或 11。每次操作,你可以选择一个下标 ii,并将 aia_i 加 11(即执行 ai:=ai+1a_i := a_i + 1)。你可以进行任意次数的操作,选择任意下标。

你的目标是用最少的操作次数,使得数组所有元素的乘积严格为正数,即 a1⋅a2⋅…⋅an>0a_1 \cdot a_2 \cdot \ldots \cdot a_n > 0。求所需的最小操作次数。

保证一定可以实现目标。

输入格式

每组测试包含若干测试用例。

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn(1≤n≤81 \le n \le 8),表示数组 aa 的长度。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(−1≤ai≤1-1 \le a_i \le 1),分别表示数组 aa 的元素。

输出格式

对于每个测试用例,输出一个整数,表示使数组所有元素的乘积严格为正所需的最小操作次数。

输入输出样例

  • 输入#1

    3
    3
    -1 0 1
    4
    -1 -1 0 1
    5
    -1 -1 -1 0 0

    输出#1

    3
    1
    4

说明/提示

示例一:从 [−1,0,1][-1, 0, 1] 变为 [1,1,1][1, 1, 1] 共需要 3 次操作。

示例二:只需将 00 变为 11(1 次操作)。此时数组 a=[−1,−1,1,1]a=[-1,-1,1,1],所有元素的乘积为 11。

示例三:将两个 00 变为 11(2 次操作),一个 −1-1 变为 11(再需要 2 次操作),共需要 4 次操作。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页