40分求助QAQ
查看原帖
40分求助QAQ
158878
B1ade_楼主2021/6/6 18:39
#include<bits/stdc++.h>
using namespace std;
int ma[101][101][11],mi[101][101][11],n,m,qz[101];
int mod(int a)
{
	return (a%10+10)%10;
}
int main()
{
	cin>>n>>m;
	for (int i=1;i<=n;++i)
	{
		cin>>qz[i];
		qz[i]+=qz[i-1];
		qz[i+n]=qz[i];
	}
	for (int i=1;i<=2*n;++i)
	{
		for (int j=1;j<=2*n;++j)
		{
			ma[i][j][1]=mi[i][j][1]=mod(qz[j]-qz[i-1]);
		}
	}
	for (int i=2;i<=m;++i)
	{
		for (int p=1;p<=2*n;++p)
		{
			for (int q=p+i-1;q<=2*n;++q)
			{
				mi[p][q][i]=INT_MAX;
			}
		}
	}
	for (int i=2;i<=m;++i)
	{
		for (int l=1;l<=2*n;++l)
		{
			for (int r=l+i-1;r<=2*n;++r)
			{
				for (int k=l+i-2;k<r;++k)
				{
					mi[l][r][i]=min(mi[l][r][i],mi[l][k][i-1]*mod(qz[r]-qz[k]));
					ma[l][r][i]=max(ma[l][r][i],ma[l][k][i-1]*mod(qz[r]-qz[k]));
				}
			}
		}
	}
	int maxx=0,minn=INT_MAX;
	for (int i=1;i<=n;++i)
	{
		minn=min(minn,mi[i][i+n-1][m]);
		maxx=max(maxx,ma[i][i+n-1][m]);
	}
	cout<<minn<<endl<<maxx;
	return 0;
}
```cpp
2021/6/6 18:39
加载中...