#include <bits/stdc++.h>
using namespace std;
#define MAXN 200200
int a[MAXN];
int main() {
cin.tie(nullptr);
ios::sync_with_stdio(false);
int n, m;
cin >> n >> m;
for(int i=1;i<=n;i++) cin >> a[i];
int ans=0;
for(int i=1;i<=n;i++) {
int mx=i*m;
if(a[i]>mx) {
a[i]=mx;
ans++;
}
}
for(int i=1;i<=n;i++) a[i]-=i*m;
for(int i=1;i<=n;i++) a[i]*=-1;
vector<pair<int, int>> vec;
for(int i=1;i<=n;i++) vec.push_back({a[i], i});
vector<pair<int, int>> lens;
for(auto x : vec) {
auto p = lower_bound(lens.begin(), lens.end(), x);
if(p==lens.end()) lens.push_back(x);
else *p=x;
}
ans+=n-lens.size();
cout << ans << endl;
return 0;
}
# | 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... |