#J20010. 清酒或水

清酒或水

问题描述

NN 个杯子,每个杯子装有 AiA_i 毫升无色透明液体(清酒或水)。

正好 KK 个杯子装清酒,其余装水,但具体哪些不知道。高桥选择若干个(一或多个)杯子并喝光。

求在保证无论哪些杯子装清酒他都至少喝 XX 毫升清酒的前提下,他最少需要选择多少个杯子。若无法做到,输出 1-1

输入格式

第一行包含三个整数 N,K,XN, K, X

第二行包含 NN 个整数 A1,A2,,ANA_1, A_2, \ldots, A_N

输出格式

一个整数,即最少需要选择的杯子数;若无法做到,输出 1-1

样例输入 1

3 2 5
10 6 8

样例输出 1

2

说明:选第 1 和第 3 杯。无论哪两杯是清酒,他喝到的清酒至少 88 毫升(K=2K=2, Nm=1N-m=1,选中必须含 11 个清酒,最坏在选中的最小杯 88 毫升)。只选 1 杯最坏可能是水,喝 00 毫升。最少需要 22 个杯子。

样例输入 2

2 1 8
6 10

样例输出 2

-1

说明:选 11 杯最坏是水(喝 00 毫升);选 22 杯全选(K=1K=1, Nm=0N-m=0, 选中必须含 11 个清酒,最坏在最小杯 66 毫升),6<86 < 8。无论选几个杯子,最坏喝到的清酒都不足 88 毫升。

样例输入 3

5 3 3000000000
1000000000 1000000000 1000000000 1000000000 1000000000

样例输出 3

5

说明K=3K=3, 全选 55 杯时 Nm=0N-m=0 选中必须含 33 个清酒,最坏在最小 3 个杯子(各 10910^9),喝 3×1093×1093 \times 10^9 \ge 3 \times 10^9。选 44 杯时 Nm=1N-m=1 选中必须含 22 个清酒,最坏在最小 22 个选中的杯子(109+109=2×109<3×10910^9 + 10^9 = 2 \times 10^9 < 3 \times 10^9)。故最少需选 55 杯。

评测数据规模

对于所有数据,保证 1KN3×1051 \le K \le N \le 3 \times 10^51Ai1091 \le A_i \le 10^91X3×10141 \le X \le 3 \times 10^{14}