#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll MOD = 1e9 + 7;
int main(){
ll n, m;
cin >> n >> m;
vector<ll> a(n);
for(int i = 0; i < n; i++){
cin >> a[i];
a[i] -= (i+1) * m;
a[i] *= -1;
}
vector<ll> dp;
for(int i = 0; i < n; i++){
if(a[i] < 0) continue;
if(dp.empty()){
dp.push_back(a[i]);
continue;
}
if(a[i] >= dp.back()){
dp.push_back(a[i]);
continue;
}
int l = upper_bound(dp.begin(), dp.end(), a[i]) - dp.begin();
dp[l] = a[i];
}
cout << n - dp.size();
}
# | 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... |