60分
查看原帖
60分
1755187
caozexuan101楼主2025/7/30 15:05
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,k,dp[50][50],b[50][50];
string s;
int main(){
	cin>>n>>k;
	cin>>s;
	s=" "+s;
	for(int i=1;i<=n;i++)
		for(int j=i;j<=n;j++) b[i][j]=b[i][j-1]*10+s[j]-'0';
	for(int i=1;i<=n;i++) dp[i][0]=b[1][i];
	for(ll i=1;i<=n;i++)
		for(int j=1;j<=min(k,i);j++)
			for(int k=j;k<i;k++) dp[i][j]=max(dp[i][j],dp[k][j-1]*b[k+1][i]); 
cout<<dp[n][k];
	return 0;
}
2025/7/30 15:05
加载中...