#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll n, m;
cin >> n >> m;
deque<ll> dq;
dq.push_front(0);
ll ans = 0;
for (ll i = 1; i <= n; i ++){
ll x;
cin >> x;
if (dq.front() + i * m < x){
ans++;
int lb = lower_bound(dq.begin(), dq.end(), x - i * m) - dq.begin();
if (lb != dq.size() and lb) dq[lb - 1] = max(dq[lb - 1], x - i * m);
}
else{
dq.push_front(x - i * m);
}
}
cout << ans << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |