Submission #1171858

#TimeUsernameProblemLanguageResultExecution timeMemory
1171858ov113Rabbit Carrot (LMIO19_triusis)C++20
0 / 100
1 ms328 KiB
#include <iostream> #include <stack> #include <vector> using namespace std; int max_non_dec_subseq(const vector<int> &v) { int n = v.size(); stack<int> s; int dp[n]; for (int i=0; i<n; i++) { while (!s.empty() && v[s.top()] > v[i]) { s.pop(); } if (s.empty()) { dp[i] = 1; } else { dp[i] = dp[s.top()] + 1; } s.push(i); } int ans = 0; for (int i=0; i<n; i++) { ans = max(ans, dp[i]); } return ans; } int main() { int n, m; cin >> n >> m; int a[n+1]; a[0] = 0; for (int i=1; i<=n; i++) { cin >> a[i]; a[i] -= i*m; } vector<int> poss_unchanged; for (int i=0; i<=n; i++) { if (a[i] <= 0) { poss_unchanged.push_back(-a[i]); } } cout << (n+1) - max_non_dec_subseq(poss_unchanged) << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...