Submission #999586

#TimeUsernameProblemLanguageResultExecution timeMemory
999586vjudge1Rabbit Carrot (LMIO19_triusis)C++17
100 / 100
57 ms5460 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
    int n, m;
    cin >> n >> m;
    vector<int> v(n);
    for(int i = 0; i < n; ++ i) {
        cin >> v[i];
        v[i] -= (i + 1) * m;
        v[i] *= -1;
    }
    vector<int> dp(n + 1, INT_MAX);
    dp[0] = INT_MIN;
    for(int i = 0; i < n; ++ i) {
        if(v[i] < 0) continue;
        int l = (int) (upper_bound(dp.begin(), dp.end(), v[i]) - dp.begin());
        dp[l] = v[i];
    }
    int x = 0;
    for (int l = 0; l <= n; ++ l) {
        if (dp[l] != INT_MAX) {
            x = l;
        }
    }
    cout << n - x << endl;
    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...