纯模拟

#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{
    int n, x;
    cin >> n >> x;
    vector<int> arr(n + 1, -999);
    int cnt = 0;
    int minn = 0;
    for (int i = 1; i <= n; i++)
    {
        cin >> arr[i];
    }
    vector<int>num = arr;
    for (int i = 1; i <= n; i++)
    {
        if (i == 1 && arr[i] == -999)
        {
            arr[i] = 50;
        }
        if (i != 1)
        {
            if (arr[i - 1] != -999 && arr[i] != -999 && arr[i - 1] - arr[i] >= x)
            {
                cnt++;
            }
            else if (arr[i] == -999 && arr[i - 1] != -999 && arr[i - 1] - x >= -50)
            {
                arr[i] = arr[i - 1] - x;
                cnt++;
            }
            else if (arr[i] == -999 && arr[i - 1] != -999 && arr[i - 1] - x < -50)
            {
                arr[i] = 50;
            }
        }
    }

    for (int i = 1; i <= n; i++)
    {
        if(i==1&&num[i]==-999)
        {
            num[i]=-50;
        }
        if (i != 1)
        {
            if (num[i - 1] != -999 && num[i] != -999 && num[i - 1] - num[i] >= x)
            {
                minn++;
            }
            else if (num[i] == -999 && num[i - 1] != -999 && num[i - 1] - x +1>= -50)
            {
                num[i] = num[i - 1] - x+1;
            }
            else if (num[i] == -999 && num[i - 1] != -999 && num[i - 1] - x+1 < -50)
            {
                num[i] = -50;
            }
        }

    }
    cout << cnt << ' ' << minn << endl;
}
signed main()
{
    int qwq = 1;
    // cin >> qwq;
    while (qwq--)
    {
        solve();
    }
    return 0;
}