Submission #797535

#TimeUsernameProblemLanguageResultExecution timeMemory
797535gtm7Rabbit Carrot (LMIO19_triusis)C++17
100 / 100
75 ms6928 KiB
#include <bits/stdc++.h> using namespace std; int main() { long long n, m; cin >> n >> m; vector<long long> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; a[i] = a[i] - m * (i + 1); } vector<long long> l(2 * n + 2, -1000000000000000); l[0] = -l[0]; for (int i = 1; i <= n; i++) { l[i] = 0; } l[n + 1] = 0; long long ans = n + 1, ind = -1; for (int i = 0; i < n; i++) { ind = upper_bound(l.begin(), l.end(), a[i], greater<long long>()) - l.begin(); l[ind] = a[i]; ans = max(ans, ind); } cout << 2 * n + 1 - ans << 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...