纯模拟
#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;
}

京公网安备 11010502036488号