#include <bits/stdc++.h>
using namespace std;
int n, m, i, j, k, a[200050];
map <int, int> f;
int main(){
    scanf("%d%d", &n, &m);
    for(i=1; i<=n; i++){
        scanf("%d", &a[i]);
        f[a[i]] = 1;//标记出现过的数字
    }
    for(i=1; i<=n; i++){
        if(f.find(a[i]+m) != f.end()) break;
        if(f.find(a[i]-m) != f.end()) break;
    }//枚举a[i],a[j]=a[i]-m;枚举a[j],a[i]=a[j]+m
    printf("%s\n", i<=n?"Yes":"No");//找到提前退出循环
    return 0;
}

作者 crxis

发表回复