记忆化搜索80分求调
查看原帖
记忆化搜索80分求调
970949
CleverSea楼主2024/9/10 22:12
#include <bits/stdc++.h>
#define int long long
using namespace std;

const int N = 2 * 1e5 + 7;

int n, a[N], maxn, rec[N];

int dfs(int x)
{
    if (rec[x] != 0) return rec[x];
    int sum = a[x];
    if (x < 0) sum = 0;
    else
    {
        sum = max(sum, dfs(x - 1) + a[x]);
    }
    return rec[x] = sum;
}

signed main()
{
    ios::sync_with_stdio(false);
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cin >> a[i];
    }
    for (int i = 1; i <= n; i++)
    {
        maxn = max(maxn, dfs(i));
    }
    cout << maxn << endl;
    return 0;
}

第二个测试点没过,其它的都过了,不知道哪里有问题。求大佬指点!评测点数据

2024/9/10 22:12
加载中...