Submission #875846

#TimeUsernameProblemLanguageResultExecution timeMemory
875846saturinaRabbit Carrot (LMIO19_triusis)C++14
100 / 100
25 ms7004 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long
const int mxn = 2e5 + 5,inf = 1e18;
int n,a[mxn],m,dp[mxn];
int vt[mxn];
int lcs() {
    int ans = 0;
    for(int i = 1;i <= n;i++) dp[i] = inf;
    dp[0] = -inf;
    for(int i = 1;i <= n;i++) {
        if(vt[i] >= 0) {
            int k = upper_bound(dp , dp + n + 1 , vt[i]) - dp;
            dp[k] = vt[i];
            ans = max(ans , k);
        }
    }
    return ans;
}
int32_t main() {
    cin.tie(0)->sync_with_stdio(0);
    cin >> n >> m;
    for(int i = 1;i <= n;i++) cin >> a[i],vt[i] = m * i - a[i];
    cout << n - lcs() << '\n';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...