#include <bits/stdc++.h>
using namespace std;
int lis(const vector<int>& a, int x) {
vector<int> ret;
ret.push_back(x);
for (int i = 0; i < a.size(); i++) {
int it = a[i];
auto pos = lower_bound(ret.begin(), ret.end(), it + 1);
if (pos == ret.end()) {
ret.push_back(it);
} else {
ret[pos - ret.begin()] = it;
}
}
return (int)ret.size();
}
int32_t main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m;
cin >> n >> m;
vector<int> f;
f.reserve(n);
for (int i = 1; i <= n; i++) {
int x;
cin >> x;
f.push_back(i * m - x);
}
vector<int> g;
g.reserve(n);
for (int v : f) {
if (v >= 0) g.push_back(v);
}
cout << n + 1 - lis(g, 0) << "\n";
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... |