Submission #1313335

#TimeUsernameProblemLanguageResultExecution timeMemory
1313335rojuslol1Rabbit Carrot (LMIO19_triusis)C++17
100 / 100
65 ms4128 KiB
#include <iostream>
#include <vector>
#include <algorithm>
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";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...