提交时间:2024-03-02 11:30:07

运行 ID: 134041

#include <bits/stdc++.h> using namespace std; int a, b[110], f[110]; int dfs(int n){ if(f[n] != -1) return f[n]; return f[n] = max(dfs(n - 1) + b[n], b[n]); } int main() { memset(f, -1, sizeof(f)); cin >> a; for(int i=1;i<=a;i++) cin >> b[i]; dfs(a); int maxa = -1e9; for(int i=1;i<=a;i++) maxa = max(maxa, f[i]); cout << maxa << endl; }