fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n;
  6. cin >> n;
  7. vector<int> cards(n);
  8. for (int i = 0; i < n; i++) cin >> cards[i];
  9.  
  10. vector<vector<int>> dp(n, vector<int>(n, 0));
  11. for (int i = 0; i < n; i++) dp[i][i] = cards[i];
  12.  
  13. for (int len = 2; len <= n; len++) {
  14. for (int i = 0; i + len - 1 < n; i++) {
  15. int j = i + len - 1;
  16. dp[i][j] = max(cards[i] - dp[i + 1][j], cards[j] - dp[i][j - 1]);
  17. }
  18. }
  19.  
  20. cout << dp[0][n - 1] << endl;
  21. return 0;
  22. }
  23.  
  24.  
  25.  
Success #stdin #stdout 0.23s 110196KB
stdin
Standard input is empty
stdout
0