#P685. 子集和(五)

子集和(五)

题目描述

在这道题中,我们规定集合中允许出现重复元素。

给定 nn 个整数 a1,a2,,ana_1,a_2,\cdots, a_n 和一个参数 kk,这些数可以组成 2n12^{n}-1 个集合(不算空集)。

请分别计算这些集合的元素之和,请从中找到第 kk 小的和。

例如对于 2,3,32,3,3 来说,可以组成的集合有

$$\{2\}, \{3\}, \{3\}, \{2,3\}, \{2,3\}, \{3,3\}, \{2,3,3\} $$

它们的和分别为

2,3,3,5,5,6,82, 3, 3, 5, 5, 6, 8

k=4k=4 时,第 kk 小的和是 55

输入格式

  • 第一行:单个整数 nn
  • 第二行:nn 个整数 a1,,ana_1,\dots,a_n
  • 第三行:单个整数 kk

输出格式

单个整数:表示第 kk 小的和。

3
2 3 3
4
5

数据范围

  • 对于 30%30\%的数据,1n201 \leq n \leq 20
  • 对于 60%60\%的数据,1n1031 \leq n \leq 10^3
  • 对于 100%100\%的数据,1n1051 \leq n \leq 10^5 , 1ai1091 \leq a_i \leq 10^9,1kmin(2n,106)1 \leq k \leq min(2^n,10^6)