```cpp
#include<bits/stdc++.h>
using namespace std;
#define setdou setprecision
int n,m,a[105],b[105];
int f[105][105];
int a1=0x3f3f3f3f,a2;
int main(){
ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i],a[i+n]=a[i];
for(int i=1;i<=2*n;i++)b[i]=b[i-1]+a[i];
for(int l=1;l<=n;l++){
int r=l+n-1;
memset(f,0x3f,sizeof(f));
for(int i=l;i<=r;i++)for(int j=1;j<=m;j++){
if(j==1)f[i][j]=(b[i]-b[l-1]+100000)%10;
else for(int k=1;k<=i;k++){
if(f[k-1][j-1]==0x3f3f3f3f)continue;
f[i][j]=min(f[i][j],(b[i]-b[k-1]+100000)%10*f[k-1][j-1]);
}
}
a1=min(a1,f[r][m]);
memset(f,0x80,sizeof(f));
for(int i=l;i<=r;i++)for(int j=1;j<=m;j++){
if(j==1)f[i][j]=(b[i]-b[l-1]+100000)%10;
else for(int k=1;k<=i;k++){
if(f[k-1][j-1]==0x80808080)continue;
f[i][j]=max(f[i][j],(b[i]-b[k-1]+100000)%10*f[k-1][j-1]);
}
}
a2=max(a2,f[r][m]);
}
cout<<a1<<"\n"<<a2<<endl;
return 0;
}
```
给个关
by luoguandy @ 2023-10-03 16:35:25
@[luoguandy](/user/1011214) 谢谢
by szx20100828 @ 2023-10-03 16:45:50
@[szx20100828](/user/678019)
不用
by luoguandy @ 2023-10-03 16:47:06
@[szx20100828](/user/678019)
你一个红名,这题不会做(bushi)
by luoguandy @ 2023-10-03 16:47:50
@[luoguandy](/user/1011214) 我是蒟蒻红名
by szx20100828 @ 2023-10-03 16:55:12
@[luoguandy](/user/1011214) 刚才才发现a数组开小了(就这还能拿60)(没脸见人)
by szx20100828 @ 2023-10-03 16:56:17
@[szx20100828](/user/678019)
哈哈哈
by luoguandy @ 2023-10-03 19:58:16
@[luoguandy](/user/1011214) 谢谢大佬!
by lzbyyds @ 2023-12-23 13:12:53