Submission #1019921

#TimeUsernameProblemLanguageResultExecution timeMemory
1019921thinknoexitRabbit Carrot (LMIO19_triusis)C++17
100 / 100
22 ms3928 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int a[200200];
int dp[200200];
int main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    int n, m;
    cin >> n >> m;
    for (int i = 1;i <= n;i++) {
        cin >> a[i];
        a[i] = i * m - a[i];
    }
    a[n + 1] = (n + 1) * m;
    int ans = 0, sz = 0;
    for (int i = 0;i <= n + 1;i++) {
        int idx = upper_bound(dp, dp + sz, a[i]) - dp;
        if (idx != 0) dp[idx] = a[i];
        if (idx == sz) sz++;
        ans = idx + 1;
    }
    cout << n - (ans - 2);
    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...