CF720A Closing ceremony
题目描述
Squanch Code Cup 的闭幕式在一个拥有 $n \times m$ 个座位的大礼堂中举行。座位排成 $n$ 行,每行有 $m$ 个座位。每个座位都有两个坐标 $(x, y)$,其中 $1 \leq x \leq n$,$1 \leq y \leq m$。
有两队人在等候进入礼堂:$k$ 个人站在 $(0,0)$,其余 $n \cdot m - k$ 人站在 $(0, m+1)$。每个人都有一张指定座位的票。如果编号为 $p$ 的人在 $(x, y)$,他的票是座位 $(x_p, y_p)$,那么他需要走的距离为 $|x-x_p| + |y-y_p|$。
每个人都有一个体力值,表示他能接受的最大行走距离。你需要判断能否将所有 $n \cdot m$ 张票分配给所有人,使得每个人都能用自己的体力走到座位上。
输入格式
第一行输入两个整数 $n$ 和 $m$,表示礼堂的规模,满足 $1 \leq n \cdot m \leq 10^4$。
第二行有若干整数。第一个整数 $k$,表示站在 $(0, 0)$ 的人数 $0 \leq k \leq n \cdot m$。之后的 $k$ 个整数分别表示这些人在 $(0,0)$ 的体力值。
第三行同样有若干整数。第一个整数 $l$,其中 $l = n \cdot m - k$ 表示站在 $(0, m+1)$ 的人数。随后 $l$ 个整数表示这些人在 $(0, m+1)$ 的体力值。
每个人的体力值是一个不超过 $n+m$ 的正整数。
输出格式
如果存在一种方案可以合理分配所有票,使得每个人都能在自己的体力范围内走到座位上,输出 “YES”,否则输出 “NO”。
说明/提示
由 ChatGPT 5 翻译