1 条题解

  • 0
    @ 2024-1-23 19:24:29
    #include <bits/stdc++.h>
    using namespace std;
    long long dp[1010],a[1010];
    long long mul[1010][1010];
    int main(){
    freopen("split.in","r",stdin);
    freopen("split.out","w",stdout);
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
    cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
    mul[i][i]=a[i];
    for(int j=i+1;j<=n;j++)
    {
    mul[i][j]=mul[i][j-1]*a[j]%1000;
    }
    }
    dp[1]=a[1];
    for(int i=2;i<=n;i++)
    {
    for(int j=1;j<=i;j++)
    {
    dp[i]=max(dp[i],dp[j-1]+mul[j][i]);
    }
    }
    cout<<dp[n]<<endl;
    return 0;
    }
    

    信息

    ID
    471
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    (无)
    递交数
    62
    已通过
    18
    上传者