动态规划(c++)

一刷打卡

#include<iostream>
#define INT_MAX 0x7fffffff
#define INT_MIN 0x80000000
using namespace std;

int max_arr(int* arr, int n) {
    
    int* max1 = new int[n];
    int max_n = INT_MIN;
    max1[0] = INT_MIN;
    for (int i = 1; i <= n; i++){
        max1[i] = max( max1[i-1] + arr[i] , arr[i]);
        max_n = max(max_n,max1[i]);
    }

    return max_n;
}

int main() {
    int n;
    int* arr;
    cin >> n;
    arr = new int[n];
    for (int i = 1; i <= n; i++) {
        cin >> arr[i];
    }

    cout << max_arr(arr, n) << endl;

    return 0;
}