https://www.luogu.org/problemnew/show/P2734
思路:设f[i][j]是从i到j的最优解,s是从1到i的和,f【i】【j】=s【j】-s【i】-min(f【i+1】【j】,f【i】【j-1】);
#include <iostream>
#include <cstdio>
using namespace std;
int n, f[210][210], a[210], s[210];
int main() {
cin >> n;
for(int i = 1; i <= n; i++)
cin >> a[i], s[i] = s[i - 1] + a[i], f[i][i] = a[i];
for(int i = n - 1; i > 0; i--) {
for(int j = i + 1; j <= n; j++) {
f[i][j] = s[j] - s[i - 1] - min(f[i + 1][j], f[i][j - 1]);
}
}
cout << f[1][n] << " " << s[n] - f[1][n];
return 0;
}