Problem C: *【中级组】求三数之和

Memory Limit:128 MB Time Limit:12.000 S
Judge Style:Text Compare Creator:
Submit:403 Solved:105

Description

输入有n个整数的数组和一个数字s,在数组中查找三个数,使得它们的和正好是s。若存在和为s则输出 "Yes"  否则输出 "No"。


示例 1:

输入:nums = [2 5 7 11 15] ; n=5;  s = 20
输出:Yes
解释: 存在 2+7+11=20
示例 2:
输入:nums = [13 26 30 38 47 52] ;n=6;  s=68
输出:No

Input

    输入为两行:第一行数组中元素的个数n与和数 s,第二行是数组 nums中的n个n个从小到大排好序的整数,每两个整数之间用空格分隔。

Output

      输出存在三个整数和为 s则输出 "Yes",  否则输出 "No"。

Sample Input Copy

5 20
2 5 7 11 15

Sample Output Copy

Yes

HINT

限制:

  • 1 <= n <= 10^6
  • 1 <= nums[i] <= 10^6