1 solutions

  • 2
    @ 2024-11-2 11:37:45

    点赞的人发大财,点倒赞的人()()

    #include<bits/stdc++.h>
    using namespace std;
    int a[1000],f[1000][1000];
    int main()
    {
        int n;
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
            a[i]+=a[i-1];
        }
        memset(f,0x3f,sizeof f);
        for(int i=1;i<=n;i++)
        {
            f[i][i]=0;
        }
        for(int len=2;len<=n;len++)
        {
            for(int i=1;i+len-1<=n;i++)
            {
                int j=i+len-1;
                for(int k=i;k<=j;k++)
                {
                    f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]+a[j]-a[i-1]);
                }
            }
        }
        cout<<f[1][n];
        return 0;
    }
    
    
    • 1

    Information

    ID
    996
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    (None)
    # Submissions
    41
    Accepted
    15
    Uploaded By