题目大意:
题解:
#includeusing namespace std;char ch[45];int n,k;long long int arr[45][7];long long int dp[45][7];int main(){ cin >> n >> k >> ch; for(int i = 0; i < n; i++){ int tmp = 0; for(int j = i; j < n; j++){ tmp = tmp * 10 + ch[j]-'0'; arr[i][j] = tmp; } } //dp 开始 for(int i = 0; i < n; i++){ dp[i][0] = arr[0][i]; } for(int i = 0; i < n; i++){ for(int j = 1; j <= k; j++){ for(int k = 0; k < i; k++){ dp[i][j] = max(dp[k][j-1]*arr[k+1][i],dp[i][j]); } } } cout << dp[n-1][k] << endl; return 0;}