#YACS202112C4. 两数之和

两数之和

题目描述

给定 nn 个整数 a1,a2,⋯ ,ana_1,a_2,\cdots,a_n,并且保证

a1≤a2≤⋯≤ana_1 \leq a_2\leq\cdots\leq a_n

再给定一个目标值 tt,请判断能否找到 aia_i 与 aja_j,使得 ai+aj=ta_i+a_j=t 且 i≠ji\neq j。

输入格式

  • 第一行:单个整数 nn;
  • 第二行:nn 个整数 a1,a2,⋯ ,ana_1,a_2,\cdots,a_n;
  • 第三行:单个整数 tt。

输出格式

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

数据范围

  • 对于 30%30\% 的数据,1≤n≤30001\leq n\leq 3000;
  • 对于 60%60\% 的数据,1≤n≤100,0001\leq n\leq 100,000;
  • 对于 100%100\% 的数据,1≤n≤1,000,0001\leq n\leq 1,000,000;
  • −1,000,000,000≤ai≤1,000,000,000-1,000,000,000\leq a_i\leq 1,000,000,000;
  • −2,000,000,000≤t≤2,000,000,000-2,000,000,000\leq t \leq 2,000,000,000。

样例数据

输入:

4
1 3 5 7
8

输出:

Yes

说明:

8=3+5

输入:

4
2 4 6 8
11

输出:

No

输入:

3
1 2 5
2

输出:

No

说明:

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