50分的暴力dp都不会了,不太秒
查看原帖
50分的暴力dp都不会了,不太秒
241036
Afoat楼主2020/10/1 11:06

50分的暴力dp都不会了,不太秒

求助,debug失败

先嫖50分再说

#include <bits/stdc++.h>
using namespace std;
int n,a,b,c;
int tot;
int arr[1000001];
long long dp[1000001];
long long ans;
long long calc(int sb)
{
    return sb*sb*a+sb*b+c;
}
int main()
{
    scanf("%d",&n);
    scanf("%d %d %d",&a,&b,&c);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&arr[i]);
        arr[i]+=arr[i-1];
    }
    for(int i=1;i<=n;i++)
    {
        dp[i]=calc(arr[i]);
        for(int j=0;j<i;j++)
        {
            dp[i]=max(dp[i],dp[j]+calc(arr[i]-arr[j]));
        }
    }
    printf("%lld\n",dp[n]);
    return 0;
}
2020/10/1 11:06
加载中...