#include <bits/stdc++.h>
using namespace std;
int LCS(const vector<int> &a){
vector<int> dp;
for(int i: a){
int pos = upper_bound(dp.begin(), dp.end(), i) - dp.begin();
if(pos == dp.size()){
dp.push_back(pos);
} else {
dp[pos] = i;
}
}
return (int)dp.size();
}
int main(){
int n, m;
cin >> n >> m;
vector<int> a(n);
for(int &i: a) cin >> i;
vector<int> unchanged;
for(int i = 1; i <= n; i++){
if(i * m >= a[i-1]){
unchanged.push_back(i * m - a[i-1]);
}
}
cout << n - LCS(unchanged) << '\n';
}
# | 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... |