Problem4248--§2 7 和为给定数

4248: §2 7 和为给定数

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

给出若干个整数,询问其中是否有一对数的和等于给定的数。

Input

共三行:
第一行是整数 $n\ ( 0 < n \le 100,000 )$,表示有 $n$ 个整数。
第二行是 $n$ 个整数。整数的范围是在 $0 \sim 2 \times 10^8$ 之间。
第三行是一个整数 $m\ ( 0 \le m \le 2^{30})$,表示需要得到的和。

Output

若存在和为 $m$ 的数对,输出两个整数,小的在前,大的在后,中间用单个空格隔开。
若有多个数对满足条件,选择数对中较小的数更小的。
若找不到符合要求的数对,输出一行"No"。

Sample 1 Input

4
2 5 1 4
6

Sample 1 Output

1 5
$2+4=6,\ 1+5=6$,根据题目要求,我们选择 $1\ 5$。

Sample 2 Input

4
2 5 1 4
16

Sample 2 Output

No

Source/Category

基础算法 4.14.分治