有没有大佬帮忙加个高精度,玄关。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll s[41],c[41][7];
ll f (int i,int j)
{
ll num=0;
for (int k=i;k<=j;k++)
{
num=num*10+s[k];
}
return num;
}
int main()
{
ll maxx=-1,max;
int n,k;
string a;
scanf("%d %d",&n,&k);
cin>>a;
for (int i=1;i<=n;i++)
{
s[i]=a[i-1]-'0';
c[i][0]=f(1,i);
}
c[0][0]=0;
for (int i=1;i<=n;i++)
{
for (int j=1;j<=k;j++)
{
max=0;
for (int k=1;k<i;k++)
{
if (c[k][j-1]*f(k+1,i)>max) max=c[k][j-1]*f(k+1,i);
}
c[i][j]=max;
}
}
cout<<c[n][k];
return 0;
}