Submission #330094

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

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;
    ll m;
    cin >> n >> m;
    
    vector<ll> alteredHeights(n);

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

    vector<ll> dp;
    dp.push_back(LLONG_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 == sz(dp)){
            dp.push_back(0);
        }else{
            dp[ind] = alteredHeights[i];
        }
    }

    cout << n - dp.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...