Help Speedrun

Can any one help me to find the bug?

#include <bits/stdc++.h>
#include <time.h>
using namespace std;
typedef long long ll;
typedef vector<ll> vi;
typedef pair<ll, ll> pi;
#define pb push_back
#define f first
#define s second
const ll inf = 1e18;
const int mod = 1e9 + 7;

void solve()
{
    ll n, k;
    cin >> n >> k;
    ll x[n];
    ll p[n];
    for (ll i = 0; i < n; i++)
    {
        cin >> x[i];
    }
    for (ll i = 0; i < n; i++)
    {
        cin >> p[i];
    }
    ll s = 0;
    ll c = -1;
    for (ll i = 0; i < n; i++)
    {
        s += p[i];
        if (s >= x[i])
        {
            c = i;
            break;
        }
    }
    if (c == -1)
    {
        cout << "YES\n";
        return;
    }
    ll h = 0;
    ll j = 0;
    ll g = 0;
    for (ll i = 0; i < n && j <= c; i++)
    {
        if (x[j] + 2 * k >= x[i] && j <= c)
        {
            h += p[i];
        }
        else
        {
            while (x[j] + 2 * k < x[i] && j <= c)
            {
                h -= p[j];
                j++;
            }
            if (x[j] + 2 * k >= x[i] && j <= c)
            {
                h += p[i];
            }
        }
        g = max(h, g);
    }
    s = -g;
    c = -1;
    for (ll i = 0; i < n; i++)
    {
        s += p[i];
        if (s >= x[i])
        {
            c = i;
            break;
        }
    }
    if (c == -1)
    {
        cout << "YES\n";
        return;
    }
    cout << "NO\n";
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    ll T;
    T = 1;
    cin >> T;
    while (T--)
    {
        solve();
    }
    return 0;
}