0分,求调!
查看原帖
0分,求调!
1022631
xzwang79楼主2024/9/7 20:46
#include <bits/stdc++.h>
using namespace std;

int main(){
	int a[301],s[301],f[301][301];
	int j,n,p,m;
	cin>>n;
	s[0]=0;
	for(int i=1;i<=n;i++){
	    cin>>a[i];
	    s[i]=s[i-1]+a[i];
	    f[i][i]=0;
	}
	for(p=1;p<=n-1;p++){
	    for(int i=1;i<n;i++){
	        j=i+p-1;
	        if(j<=n){
	            m=INT_MAX;
	            for(int k=i;k<j;k++)
	                m=min(m,f[i][k-1]+f[k+1][j]);
	            f[i][j]=m+s[j-1]-s[i];
	        }
	    }
	}
	cout<<f[1][n];
	return 0;
}
2024/9/7 20:46
加载中...