You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
626 B
C++
24 lines
626 B
C++
#include <cstdio>
|
|
template<typename T> inline
|
|
T max(T a, T b) { return a > b ? a : b; }
|
|
int n, k;
|
|
long long a[41][41], f[41][41];
|
|
char buffer[41];
|
|
int main()
|
|
{
|
|
scanf("%d%d%s", &n, &k, buffer + 1);
|
|
for (int i = 1; i <= n; i++)
|
|
for (int j = i; j <= n; j++)
|
|
if (i == j)
|
|
a[i][j] = buffer[i] - '0';
|
|
else
|
|
a[i][j] = a[i][j - 1] * 10 + buffer[j] - '0';
|
|
for (int i = 1; i <= n; i++)
|
|
f[i][0] = a[1][i];
|
|
for (int l = 1; l <= k; l++)
|
|
for (int i = l + 1; i <= n; i++)
|
|
for (int j = l; j < i; j++)
|
|
f[i][l] = max(f[i][l], f[j][l - 1] * a[j + 1][i]);
|
|
printf("%lld", f[n][k]);
|
|
return 0;
|
|
} |