2392: 两数之和

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:6 解决:3

题目描述

给定 n 个整数 a1,a2,⋯,an,并且保证 a1<a2<⋯<an,再给定一个目标值 t,请判断是否能从数列中挑出两个不同的数 ai 与 aj,使得 ai+aj=t。

输入

第一行:单个整数 n;
第二行:n 个整数 a1,a2,⋯,an
第三行:单个整数 t。

输出

如果存在一种组合满足要求,输出 Yes;
否则,输出 No。

样例输入 复制

4
1 3 5 7
8

样例输出 复制

Yes

提示

样例1解释:
8=3+5


样例2输入:
4
2 4 6 8
11
样例2输出:
No


样例3输入:
3
1 2 5
2
样例3输出:

No
样例3解释:
1+1不是一个符合条件的解法,因为输入数据里只有一个1;
单个2也不能算一个符合条件的解法,因为不配对



数据范围:
对于 30% 的数据,1≤n≤3000;
对于 60% 的数据,1≤n≤100,000;
对于 100% 的数据,1≤n≤1,000,000;
−1,000,000,000≤ai≤1,000,000,000;
−2,000,000,000≤t≤2,000,000,000。

来源/分类