Submission #1091713

#TimeUsernameProblemLanguageResultExecution timeMemory
1091713vjudge1Rabbit Carrot (LMIO19_triusis)C++17
100 / 100
54 ms5408 KiB
#include <bits/stdc++.h>
using namespace std;

vector <int> h, hp;

int lnds() {
    vector<int> sub;
    for (int i = 0; i < hp.size(); i++) {
        int x = hp[i];
        if (sub.empty() || sub[sub.size() - 1] <= x) { 
            sub.push_back(x);
        } 
        else {
            int idx = upper_bound(sub.begin(), sub.end(), x) - sub.begin();
            sub[idx] = x;
        }
    }
    return sub.size();
}

int main() {
    int n, jh;
    cin >> n >> jh;
    for (int i = 0; i < n; i++){
        int x;
        cin >> x;
        h.push_back(x);
    }
    for (int i = 1; i <= n; i++) {
        if (i * jh >= h[i-1]) hp.push_back(i * jh - h[i-1]);
    }
    cout << n - lnds() << endl;
}

Compilation message (stderr)

triusis.cpp: In function 'int lnds()':
triusis.cpp:8:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    8 |     for (int i = 0; i < hp.size(); i++) {
      |                     ~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...