给你 和一个长度为
的数组
,问是否存在
使得
如果有输出 YES ,否则 NO 。
首先想到的是使用两重循环暴力,但是 ,显然会爆。
接着我们可以想到有 map 容器来存储一个数出现的次数,遍历数组但 map 容器中 有就可以直接输入 YES 了。
#include <iostream>
#include <map>
using namespace std;
int a[200005];
map<int,int>mp;
int main()
{
int n,c;
cin >> n >> c;
for(int i = 1;i<= n;i++)
{
cin >> a[i];
mp[a[i]]++;//次数
}
for(int i = 1;i <= n;i++)
{
if(mp[a[i] + c])//如果a[i]+c的存在就输出
{
cout << "Yes" << endl;
return 0;
}
}
cout << "No" << endl;//没有
return 0;
}