Submission #330093

#TimeUsernameProblemLanguageResultExecution timeMemory
330093alien_loverRabbit Carrot (LMIO19_triusis)C++14
0 / 100
1 ms384 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

typedef long long ll;

#define all(x) begin(x), end(x)
#define sz(x) (int) x.size()

const int PRIME = 1e9 + 7;


int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);

    int n, m;
    cin >> n >> m;
    
    vector<int> alteredHeights(n);

    for(int i = 0; i < n; i++){
        int h;
        cin >> h;
        alteredHeights[i] = m * (i+1) - h;
    }

    vector<int> dp;
    dp.push_back(INT32_MIN);

    for(int i = 0; i < n; i++){
        if(alteredHeights[i] < 0){
            continue;
        }
        int ind = upper_bound(dp.begin(), dp.end(), alteredHeights[i]) - dp.begin();
        if(ind == dp.size()){
            dp.push_back(0);
        }else{
            dp[ind] = alteredHeights[i];
        }
    }

    cout << n - dp.size() + 1 << '\n';
}

Compilation message (stderr)

triusis.cpp: In function 'int main()':
triusis.cpp:37:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |         if(ind == dp.size()){
      |            ~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...