求助
查看原帖
求助
251632
LANQINHAN楼主2021/1/30 09:00
#include<iostream>//To Be Continued
#include<cstdio>
#include<cmath>
#include<iomanip>
#include<cstring>
#include<string>
#include<fstream>
#include<algorithm>
#include<cctype>
#include<bits/stdc++.h>
using namespace std;
int n,m;
int sum;
int a[1000000];
int ans;
int dp[1000][1000];
int dp1[1000][1000];
int main() {
    cin>>n;
	memset(dp,63,sizeof(dp));
    for(int i=1;i<=n;i++)
    {
    	cin>>a[i];
    	a[i+n]=a[i];
	}
	for(int i=1;i<=2*n;i++)
	{
		dp1[i][i]=0;
		dp[i][i]=0;
	}
	for(int j=2;j<n+n;j++)
	{
		for(int i=j-1;i>=1;i--)
		{
			for(int k=i;k<j&&j-i<n;k++)
			{
			    dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+a[i]+a[k+1]+a[j+1]);
			    dp1[i][j]=max(dp1[i][j],dp1[i][k]+dp1[k+1][j]+a[i]+a[k+1]+a[j+1]);
			}
		}
	}
	cout<<dp[1][n]<<endl;
	cout<<dp1[1][n]<<endl;
	return 0;
}

调了半天没调好,求大佬指明错误,谢谢

2021/1/30 09:00
加载中...