100
#LS1229. 【普及】受限的数组【普及】受限的数组
【普及】受限的数组
给你一个大小为 的整数数组 和一个正整数 。
通过将每个元素 a[i] 替换为 min(nums[i], x),可以得到一个由值 限制的数组。
对于从 到 的每个整数 ,确定是否可以从由 限制的数组中选择一个 子序列,使所选元素的和 恰好 为 。
更形式化的描述:
- 请你输出一行包含 个数
ans[1], ans[2], ..., ans[n] - 其中
ans[i] = 1表示:当x = i时,可以选出满足要求的子序列;否则ans[i] = 0
提示:
- 子序列 是一个从数组中通过删除一些或不删除任何元素(且不改变剩余元素顺序)派生出来的 非空 数组。
输入格式
第一行是一个整数 ,代表数据的组数,接下来有 组数据
每组数据的第一行 个正整数 和
每组数据的第二行包含 个正整数表示数组
输出格式
对于每组数据输出一行,表示 ans[1] 到 ans[n]
2
4 5
4 3 2 4
5 3
1 2 3 4 5
0 0 1 1
1 1 1 1 1
提示
【样例 1 解释】
- 对于
x = 1,限制后的数组为[1, 1, 1, 1]。可能的和为1, 2, 3, 4,因此无法选出和为5的子序列,输出0。 - 对于
x = 2,限制后的数组为[2, 2, 2, 2]。可能的和为2, 4, 6, 8,因此无法选出和为5的子序列,输出0。 - 对于
x = 3,限制后的数组为[3, 3, 2, 3]。可以选择子序列[2, 3],其和为5,能选出满足要求的子序列。输出1。 - 对于
x = 4,限制后的数组为[4, 3, 2, 4]。可以选择子序列[3, 2],其和为5,能选出满足要求的子序列。输出1。
【样例 2 解释】
- 对于每个值
x,总是可以从限制后的数组中选择一个子序列,其和正好为3。所以输出1 1 1 1 1
【数据范围】
- 对于 的数据,
- 单组数据内的 之和不超过
请思考后再点击查看提示
来源
相关
在以下作业中: