WA on#4#5
查看原帖
WA on#4#5
678019
SZX__HAPPY楼主2023/10/2 22:15
#include<bits/stdc++.h>
using namespace std;
long long n,m,dpmax[105][105][15],dpmin[105][105][15],a[55],sum[105],r,ans1,ans2,mod=2e9;
int main(){
	//freopen(".in","r",stdin);
	//freopen(".ans","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=101;i++){
		for(int j=1;j<=101;j++){
			for(int k=1;k<=10;k++){
				dpmin[i][j][k]=1e9;
			}
		}
	}
	for(int i=1;i<=n;i++){
		cin>>a[i];
		a[i+n]=a[i];
	}
	for(int i=1;i<2*n;i++){
		sum[i]=(sum[i-1]+a[i]+mod)%10;
	}
	for(int i=1;i<2*n;i++){
		for(int j=i;j<2*n;j++){
			dpmax[i][j][1]=(sum[j]-sum[i-1]+mod)%10;
			dpmin[i][j][1]=(sum[j]-sum[i-1]+mod)%10;
		}
	}
	for(int len=2;len<2*n;len++){
		for(int l=1;l+len-1<2*n;l++){
			r=l+len-1;
			for(int i=2;i<=m;i++){
				for(int id=l;id<r;id++){
					dpmax[l][r][i]=max(dpmax[l][r][i],dpmax[l][id][i-1]*dpmax[id+1][r][1]);
					dpmin[l][r][i]=min(dpmin[l][r][i],dpmin[l][id][i-1]*dpmin[id+1][r][1]);
				}
			}
		}
	}
	ans1=2e9;
	for(int i=1;i<=n;i++){
		ans1=min(ans1,dpmin[i][i+n-1][m]);
		ans2=max(ans2,dpmax[i][i+n-1][m]);
		//cout<<dpmax[i][i+n-1][m]<<" ";
	}
	cout<<ans1<<endl<<ans2;
	return 0;
}
2023/10/2 22:15
加载中...