CF2106C.Cherry Bomb

入门

通过率:0%

AC君温馨提醒

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

题目描述

我们称两个长度均为 nn 的整数数组 aa 和 bb 是互补的,当且仅当存在一个整数 xx,使得对于所有 1≤i≤n1 \le i \le n,ai+bi=xa_i+b_i=x。例如数组 a=[2,1,4]a=[2,1,4] 和 b=[3,4,1]b=[3,4,1] 是互补的,因为对于所有 1≤i≤31 \le i \le 3,ai+bia_i+b_i 都等于 55。而数组 a=[1,3]a=[1,3] 和 b=[2,1]b=[2,1] 则不是互补的。

Cow the Nerd 觉得任何人都对数学感兴趣,所以他给了 Cherry Bomb 两个长度均为 nn 的整数数组 aa 和 bb,其中元素均为非负整数且不大于 kk。

但是 Cherry Bomb 不小心弄丢了 bb 中的一些数,这些数以 −1-1 表示。请求出满足以下要求的可能的 bb 数组的数量:

  • 数组 aa 和数组 bb 互补。
  • bb 中的元素均为非负整数且不大于 kk。

输入格式

输入的第一行是测试数据的组数 tt(1≤t≤1041 \le t \le {10}^4),以下有 tt 组测试数据。

对于每组测试数据,第一行是两个正整数 n,kn,k(1≤n≤2×105, 0≤k≤109, 1≤∑n≤2×1051 \le n \le 2\times {10}^5,\ 0 \le k \le {10}^9,\ 1 \le \sum n \le 2\times {10}^5)。

第二行是 nn 个小于等于 kk 的非负整数,表示 aa 数组。

第三行是 nn 个整数,每个整数要么是小于等于 kk 的非负整数,要么是 −1-1,表示 bb 数组,其中 −1-1 是未知的数。

输出格式

对于每组数据,输出一行一个非负整数,表示满足条件的 bb 数组的数量。

输入输出样例

  • 输入#1

    7
    3 10
    1 3 2
    -1 -1 1
    5 1
    0 1 0 0 1
    -1 0 1 0 -1
    5 1
    0 1 0 0 1
    -1 1 -1 1 -1
    5 10
    1 3 2 5 4
    -1 -1 -1 -1 -1
    5 4
    1 3 2 1 3
    1 -1 -1 1 -1
    5 4
    1 3 2 1 3
    2 -1 -1 2 0
    5 5
    5 0 5 4 3
    5 -1 -1 -1 -1

    输出#1

    1
    0
    0
    7
    0
    1
    0

说明/提示

对于第一组数据,由 a3=2a_3=2 且 b3=1b_3=1,可以求出 x=3x=3,从而唯一满足条件的 bb 数组为 [2,0,1][2,0,1]。

对于第二组数据,a2+b2=1a_2+b_2=1,a4+b4=0a_4+b_4=0,所以不可能做到 aa 数组与 bb 数组互补。

对于第四组数据,以下是所有满足条件的 bb 数组:

  • [4,2,3,0,1][4,2,3,0,1]
  • [5,3,4,1,2][5,3,4,1,2]
  • [6,4,5,2,3][6,4,5,2,3]
  • [7,5,6,3,4][7,5,6,3,4]
  • [8,6,7,4,5][8,6,7,4,5]
  • [9,7,8,5,6][9,7,8,5,6]
  • [10,8,9,6,7][10,8,9,6,7]

共有 77 种可能,因此输出 77。

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

首页