fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int MAXN = 2005;
  5. int a[MAXN];
  6. int dp[MAXN][MAXN];
  7.  
  8. int main() {
  9. ios::sync_with_stdio(false);
  10. cin.tie(nullptr);
  11. int n;
  12. cin >> n;
  13. for (int i = 1; i <= n; i++) cin >> a[i];
  14. for (int len = 2; len <= n; len++) {
  15. for (int l = 1; l + len - 1 <= n; l++) {
  16. int r = l + len - 1;
  17. if (a[l] == a[r])
  18. dp[l][r] = dp[l + 1][r - 1];
  19. else
  20. dp[l][r] = min(dp[l + 1][r], dp[l][r - 1]) + 1;
  21. }
  22. }
  23.  
  24. cout << dp[1][n];
  25. return 0;
  26. }
  27.  
Success #stdin #stdout 0.01s 5308KB
stdin
5
1 7 8 9 1
stdout
2