石子合并问题

#include
#include
using namespace std;
int n;
const int maxn=1000;
const int INF = 0x3f;
int a[maxn]={0};
int dp[maxn][maxn]={0};
int dp1[maxn][maxn]={0};
int sum[maxn]={0};
int main()
{
    cin>>n;
    sum[0]=0;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        sum[i]+=(a[i]+sum[i-1]);//预处理化数据,将任取两堆的石子合并(相当于前缀和)
    }
    for(int r=1;r

你可能感兴趣的:(C/C++)