C. 美丽子集的数目

内存限制:256 MiB 时间限制:1000 ms 输入文件: mei.in 输出文件: mei.out
题目类型:传统 评测方式:文本比较

题目描述

给你一个由正整数组成的数组 a 和一个 正 整数 k 。如果 a 的子集中,任意两个整数的绝对差均不等于 k ,则认为该子数组是一个 美丽 子集。

返回数组 a 中 非空 且 美丽 的子集数目。

a 的子集定义为:可以经由 a 删除某些元素(也可能不删除)得到的一个数组。只有在删除元素时选择的索引不同的情况下,两个子集才会被视作是不同的子集。

输入格式

第一行:n

第二行:n个整数

第三行:k

输出格式

美丽子集的数目

样例

示例 1:

输入:

3
2 4 6
2

输出:

4

解释:数组 a 中的美丽子集有:[2], [4], [6], [2, 6] 。 可以证明数组 [2,4,6] 中只存在 4 个美丽子集。

示例 2:

输入:

1
1
1

输出:

1

解释:数组 a 中的美丽数组有:[1] 。 可以证明数组 [1] 中只存在 1 个美丽子集。

数据范围与提示

1 <= n <= 20

1 <= a[i], k <= 1000