Submission #834724

#TimeUsernameProblemLanguageResultExecution timeMemory
834724c2zi6Rabbit Carrot (LMIO19_triusis)C++14
100 / 100
69 ms5452 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

int main() {
    int n, m; cin >> n >> m;
    vector<ll> a(n+1), dp(n+1, +1e18); dp[0] = -1e18;
    for (int i = 1; i <= n; i++) cin >> a[i], a[i] -= i * m;
    reverse(a.begin(), a.end());
    for (int i = 0; i < n; i++) *upper_bound(dp.begin(), dp.end(), a[i]) = a[i];
    cout << n - (upper_bound(dp.begin(), dp.end(), 0) - dp.begin() - 1) << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...