最小值样例43代码44求助
查看原帖
最小值样例43代码44求助
237042
edison000楼主2020/11/3 08:29
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,x;
int s[1100],f[1100][1100],u[1100][1100];
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&x);
		s[i]=s[i-1]+x;
	}
	memset(f,0x3f,sizeof(f));
	for(int i=1;i<=n;i++){
		f[i][i]=0;
		u[i][i]=0;
		
	}
	for(int p=1;p<=n-1;p++){
		for(int i=1;i<=n-p;i++){
			int j=i+p;
			for(int k=i;k<j;k++){
				f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]);
				u[i][j]=max(u[i][j],u[i][k]+u[k+1][j]);
				
			}
			f[i][j]+=s[j]-s[i-1];
			u[i][j]+=s[j]-s[i-1];
		}
	}
	cout<<f[1][n]<<endl;
	cout<<u[1][n]<<endl;
	return 0;
}
2020/11/3 08:29
加载中...