| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1313334 | rojuslol1 | Rabbit Carrot (LMIO19_triusis) | C++17 | 0 ms | 0 KiB |
#include <iostream>
#include <vector>
using namespace std;
int main() {
long long n, m;
cin >> n >> m;
vector<long long> h(n);
for (int i = 0; i < n; i++) {
cin >> h[i];
h[i] = -(h[i] - (i + 1) * m);
}
vector<long long> tops;
tops.push_back(0);
for (int i = 0; i < n; i++) {
if (tops.back() <= h[i]) {
tops.push_back(h[i]);
}
else {
auto it = upper_bound(tops.begin(), tops.end(), h[i]);
*it = max(h[i], 0LL);
}
}
cout << n - (long long)tops.size() + 1 << "\n";
}
