#include <bits/stdc++.h>
using namespace std;
#define maxN 100001
int main()
{
vector<long long> pos(maxN);
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, p;
long long k;
long long x;
cin >> n >> k >> p;
long long arr[n];
bool bool_arr[n];
for (int i = 0; i < n; i++)
{
cin >> x;
pos.at(i) = x;
arr[i] = x;
bool_arr[i] = true;
}
sort(arr, arr + n);
for (int i = 1; i < n; i++)
{
if ((arr[i] - arr[i - 1]) > k)
{
bool_arr[i] = false;
}
}
while (p--)
{
bool sys = true;
long long fp, sp;
cin >> fp >> sp;
fp--;
sp--;
long long k;
long long p;
if (pos[fp] < pos[sp])
{
k = fp;
p = sp;
}
else
{
k = sp;
p = fp;
}
for (int i = 0; i < n; i++)
{
if (sys)
{
if (pos[k] == arr[i])
{
for (int j = i + 1; j < n; j++)
{
if (bool_arr[j] == false)
{
cout << "No" << endl;
sys = false;
break;
}
else if (pos[p] == arr[j])
{
cout << "Yes" << endl;
sys = false;
break;
}
}
}
}
else
{
break;
}
}
}
return 0;
}
Dont know where i am wrong please help…