测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A38320. 找和为 K 的两个元素在一个长度为 n(n < 1 000)的整数序列中, 判断是否存在某两个元素之和为 k。输入第一行输入序列的长度 n 和 k, 用空格分开。 第二行输入序列中的 n 个整数, 用空格分开。输出如果存在某两个元素的和为 k, 则输出 yes, 否则输出 no。样例输入9 101 2 3 4 5 6 7 8 9样例输出yes

填空题 中等

题目描述

找和为 K 的两个元素

在一个长度为 n(n < 1 000)的整数序列中, 判断是否存在某两个元素之和为 k。

输入

第一行输入序列的长度 n 和 k, 用空格分开。 第二行输入序列中的 n 个整数, 用空格分开。

输出

如果存在某两个元素的和为 k, 则输出 yes, 否则输出 no。

样例输入

9 10

1 2 3 4 5 6 7 8 9

样例输出

yes

参考答案

#include<bits/stdc++.h> using namespace std; int main() { int a,b; cin>>a>>b; int s[a]; for (int i=0;i<a;i++) { cin>>s[i]; } for (int i=0;i<a;i++) { for (int j=0;j<a;j++) { if(s[i]+s[j]==b && s[i]!=s[j]) { cout<<"yes"; return 0; } } } cout<<"no"; return 0; }
上一题 下一题