#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MOD 998244353
void solve(){
ll n, k;
cin >> n >> k;
vector<ll> dis(n + 2, -1e13), arr(n + 2);
dis[n + 1] = 0;
for(int i = 1; i <= n; i++){
cin >> arr[i];
}
for(int i = 1; i <= n; i++){
arr[i] -= (k * i);
if(arr[i] > dis[n + 1]){
continue;
}
ll j = lower_bound(dis.begin(), dis.end(), arr[i]) - dis.begin();
if(dis[j - 1] <= arr[i] and dis[j] >= arr[i]){
dis[j - 1] = arr[i];
}
}
ll ans = n;
for(int i = 1; i <= n; i++){
if(dis[i] != -1e13){
ans = i - 1;
break;
}
}
cout << ans << '\n';
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int tests = 1;
// cin >> tests;
for(int i = 1; i <= tests; i ++)
solve();
}
# | 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... |