CF720A.Closing ceremony

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

The closing ceremony of Squanch Code Cup is held in the big hall with n × m seats, arranged in n rows, m seats in a row. Each seat has two coordinates (x, y) (1 ≤ x ≤ n, 1 ≤ y ≤ m).

There are two queues of people waiting to enter the hall: k people are standing at (0, 0) and n·m - k people are standing at (0, m + 1). Each person should have a ticket for a specific seat. If person p at (x, y) has ticket for seat (x__p, y__p) then he should walk |x - x__p| + |y - y__p| to get to his seat.

Each person has a stamina — the maximum distance, that the person agrees to walk. You should find out if this is possible to distribute all n·m tickets in such a way that each person has enough stamina to get to their seat.

Squanch 编程杯闭幕式在一座拥有 n×mn \times m 个座位的大厅中举行,这些座位排布为 nn 行,每行 mm 个座位。每个座位具有两个坐标 (x,y)(x, y)(其中 1≤x≤n1 \le x \le n,1≤y≤m1 \le y \le m)。

有两支队伍正在等待进入大厅:kk 人站在 (0,0)(0, 0) 处,其余 n⋅m−kn \cdot m - k 人站在 (0,m+1)(0, m + 1) 处。每个人均持有一张指定座位的门票。若位于 (x,y)(x, y) 的人 pp 持有座位 (xp,yp)(x_p, y_p) 的门票,则他需行走距离 ∣x−xp∣+∣y−yp∣|x - x_p| + |y - y_p| 才能到达自己的座位。

每个人都有一个体力值(stamina)——即此人愿意行走的最大距离。你需要判断:是否可能将全部 n⋅mn \cdot m 张门票分配给所有人,使得每个人都拥有足够的体力走到其对应座位。

输入格式

The first line of input contains two integers n and m (1 ≤ n·m ≤ 104) — the size of the hall.

The second line contains several integers. The first integer k (0 ≤ k ≤ n·m) — the number of people at (0, 0). The following k integers indicate stamina of each person there.

The third line also contains several integers. The first integer l (l = n·m - k) — the number of people at (0, m + 1). The following l integers indicate stamina of each person there.

The stamina of the person is a positive integer less that or equal to n + m.

输入的第一行包含两个整数 nn 和 mm(1≤n⋅m≤1041 \le n \cdot m \le 10^4)—— 表示大厅的尺寸。

第二行包含若干个整数。第一个整数 kk(0≤k≤n⋅m0 \le k \le n \cdot m)表示位于 (0,0)(0, 0) 处的人数;接下来的 kk 个整数分别表示这些人的体力值。

第三行也包含若干个整数。第一个整数 ll(l=n⋅m−kl = n \cdot m - k)表示位于 (0,m+1)(0, m + 1) 处的人数;接下来的 ll 个整数分别表示这些人的体力值。

每个人的体力值是一个正整数,且不超过 n+mn + m。

输出格式

If it is possible to distribute tickets between people in the described manner print "YES", otherwise print "NO".

如果可以按照上述方式在人们之间分配门票,则输出“YES”,否则输出“NO”。

输入输出样例

  • 输入#1

    2 2
    3 3 3 2
    1 3

    输出#1

    YES
  • 输入#2

    2 2
    3 2 3 3
    1 2

    输出#2

    NO

输入解题思路,AI测评打分。不知道怎么写?

首页