Submission #1168797

#TimeUsernameProblemLanguageResultExecution timeMemory
1168797askewwRabbit Carrot (LMIO19_triusis)C++20
0 / 100
2 ms328 KiB
#include <bits/stdc++.h>
using namespace std;

template<typename T>
using V = vector<T>;

int n, m;

V<int> a, lis;

int main() {
    cin >> n >> m;

    a = V<int>(n + 1);
    for (int i = 1; i <= n; i++) {
        cin >> a[i];

        a[i] -= i * m;
    }

    lis = {0};
    for (int i = 1; i <= n; i++) {
        auto lb = upper_bound(lis.begin(), lis.end(), a[i], greater<int>());

        if (lb == lis.end()) {
            lis.push_back(a[i]);
        } else {
            if (lb - lis.begin() > 0) lis[lb - lis.begin() - 1] = a[i];
        }
    }

    cout << (n - (lis.size() - 1)) << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...