Problem E: 和为给定数(sum2)

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $802$ 正确数量 $523$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签 二分 模拟
给出若干个整数A,然后夏同学再给出一个k,其它同学在小天同学的整数中查找其中是否恰好有一对数Ai和Aj(i!=j)的和等于k。
共三行:
第一行是整数n(0<n≤100,000),表示有n个整数。
第二行是n个整数。整数的范围是在0到100,000000间。
第三行是一个整数m(0≤m≤2,0000000,表示需要得到的和。
若存在和为m的数对,输出两个整数,小的在前,大的在后,中间用单个空格隔开。若有多个数对满足条件,选择数对中较小的数更小的。若找不到符合要求的数对,输出一行"No"
4
2 5 1 4
6
1 5
20%的数据满足0<n<100,0<m<2000
50%的数据满足0<n<10,000,0<m<20,000000
100%的数据满足0<n<100000,0<m<2,0000000