Submission #1138184

#TimeUsernameProblemLanguageResultExecution timeMemory
1138184amin5555Rabbit Carrot (LMIO19_triusis)C++20
0 / 100
1 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

int LCS(const vector<int> &a){
    vector<int> dp;
    for(int i: a){
        int pos = upper_bound(dp.begin(), dp.end(), i) - dp.begin();
        if(pos == dp.size()){
            dp.push_back(pos);
        } else {
            dp[pos] = i;
        }
    }

    return (int)dp.size();
}

int main(){
    int n, m;
    cin >> n >> m;
    vector<int> a(n);
    for(int &i: a) cin >> i;

    vector<int> unchanged;
    for(int i = 1; i <= n; i++){
        if(i * m >= a[i-1]){
            unchanged.push_back(i * m - a[i-1]);
        }
    }

    cout << n - LCS(unchanged) << '\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...