AT_past18_m グループ分け

题目描述

有 $N$ 个人,编号为 $1$ 到 $N$。第 $i$ 个人有 $A_i$ 颗糖果。 此外,给定 $M$ 组关系,每组 $(X_1, Y_1),\ldots,(X_M, Y_M)$ 表示这两个人关系不好。 请你将 $N$ 个人划分到若干个组内,使得满足以下两个条件时,所需组数最少: - 每个组内所有人的糖果总数不超过 $S$。 - 任意关系不好的一对人,不能在同一个组内。

输入格式

输入从标准输入读入,格式如下: > $N$ $M$ $S$ $A_1$ $A_2$ $\ldots$ $A_N$ $X_1$ $Y_1$ $X_2$ $Y_2$ $\vdots$ $X_M$ $Y_M$

输出格式

输出最小的满足条件的分组数。

说明/提示

### 样例解释 1 第 $1$ 个人与第 $2$ 个人关系不好,因此不能在同一组。我们可以将他们分成两个组,一个组只有第 $1$ 个人,另一个组有第 $2$ 和第 $3$ 个人,这样满足条件。 ### 样例解释 2 可以分为三个组:一个组有 $1, 2, 3$ 号,另一个组只有 $4$ 号,最后一个组只有 $5$ 号,也可以满足要求。 ### 数据范围 - $1 \leq N \leq 20$ - $0 \leq M \leq \frac{N(N-1)}{2}$ - $1\leq X_i < Y_i \leq N$ - $(X_i, Y_i)$ 均不相同 - $0 \leq A_i \leq 10^7$ - $\max_i A_i \leq S \leq 10^9$ - 所有输入均为整数。 由 ChatGPT 5 翻译