Submission #895123

#TimeUsernameProblemLanguageResultExecution timeMemory
895123d4xnRabbit Carrot (LMIO19_triusis)C++17
14 / 100
1093 ms15640 KiB
#include <bits/stdc++.h> using namespace std; const int N = 2e5+1, inf = INT_MAX; int n, m, a[N]; vector<int> suf, dp[2]; signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin >> n >> m; a[0] = 0; for (int i = 1; i <= n; i++) { cin >> a[i]; } dp[0].clear(); dp[0].resize(1); dp[0][0] = 0; for (int i = 1; i <= n; i++) { suf.clear(); suf.resize(m*(i-1) + 1); suf[m*(i-1)] = dp[(i-1)%2][m*(i-1)]; for (int j = m*(i-1) - 1; j >= 0; j--) { suf[j] = min(dp[(i-1)%2][j], suf[j+1]); } dp[i%2].clear(); dp[i%2].resize(m*i + 1); for (int j = 0; j <= m*i; j++) { dp[i%2][j] = suf[max(0, j-m)] + (j != a[i]); } } int ans = inf; for (int i = 0; i <= n*m; i++) { ans = min(ans, dp[n%2][i]); } cout << ans << "\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...