#B257. 两数之和

两数之和

题目描述

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

a1≤a2≤⋯≤ana_1 \le a_2 \le \dots \le a_n

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

输入格式

  • 第一行:单个整数 nn
  • 第二行:nn 个整数 a1,a2,…,ana_1,a_2,\dots ,a_n
  • 第三行:单个整数 tt

输出格式

  • 如果存在一种组合满足要求,输出 Yes
  • 否则,输出 No
4
1 3 5 7
8
Yes

数据范围

覆盖比例 约束
对于 30% 的数据 1≤n≤30001 \le n \le 3000
对于 60% 的数据 1≤n≤100 0001 \le n \le 100\,000
对于 100% 的数据 1≤n≤1 000 0001 \le n \le 1\,000\,000
整数取值 −1 000 000 000≤ai≤1 000 000 000-1\,000\,000\,000 \le a_i \le 1\,000\,000\,000
目标值范围 −2 000 000 000≤t≤2 000 000 000-2\,000\,000\,000 \le t \le 2\,000\,000\,000