#include<bits/stdc++.h>
using namespace std;
long long n,m,h[200002],f[200002];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> h[i];
h[i] -= i*m;
}
for (int i = 1; i <= n; i++) {
f[i] = 1e18;
}
long long ans = 0;
for (int i = n; i >= 0; i--) {
ans = 1;
long long l = 1,r = n;
while(l <= r) {
long long mid = (l+r)/2;
if (f[mid] > h[i]) r = mid-1;
else {
l = mid+1;
ans = mid+1;
}
}
f[ans] = min(f[ans],h[i]);
}
cout << n-ans+1;
}
| # | 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... |