CF257A Sockets
题目描述
Vasya 有许多需要用电的设备。他有 $n$ 个排插,第 $i$ 个排插有 $a_{i}$ 个插口。
总共有 $m$ 个设备,以及 $k$ 个可以直接插电的插座,他可以将设备或排插直接插入这些插座。当然,他也可以将一个排插插到另一个排插上。若某个设备(或排插)能够通过 $k$ 个插座间接或直接连到电源上,则认为它已经接通电源。
请问,Vasya 至少需要用多少个排插,才能让所有设备都通电?注意,每个设备或排插插电都需要占用一个插口,并且每个插口只能插一个设备或排插。
如果即使用完所有排插也无法让全部设备通电,请输出 $-1$。
输入格式
第一行包含三个整数 $n$、$m$、$k$($1 \leq n, m, k \leq 50$),分别表示排插的数量、设备的数量和可直接插电的插座数量。
第二行包含 $n$ 个用空格分隔的整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 50$),其中 $a_i$ 表示第 $i$ 个排插上的插口数。
输出格式
输出一个整数,表示使所有设备通电所需的最少排插数量。如果即使使用所有排插也无法满足要求,则输出 $-1$。
说明/提示
在第一个样例中,他可以将第一个排插直接插入电源。插入后,他总共有 5 个可用插口可以插设备(此排插上的 3 个插口,加上剩余的 2 个可直接插电的插座),因此只需一个排插即可为 5 个设备供电。
在第二个样例中,一种最优做法是直接将第二个排插插上,然后再将第四个排插插入第二个排插中的一个插口。这样恰好有 7 个可用插口来插设备:一个直接插电,第二个排插上的 2 个插口,第四个排插上的 4 个插口。如果只用一个排插,无论如何都无法连上 7 个设备。
由 ChatGPT 5 翻译