Cod sursa(job #3350093)

Utilizator tjilaJilaveanu Tudor tjila Data 5 aprilie 2026 12:24:11
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int n;
    std::vector<int> v;
    std::cin >> n;
    v.resize(n + 1);
    for (int i = 1; i <= n; i++) {
        std::cin >> v[i];
    }
    std::vector<int> dp(n + 1);

    dp[1] = v[1];

    for (int i = 2; i <= n; i++) {
        if (dp[i - 1] >= 0) {
            dp[i] = dp[i - 1] + v[i];
        } else {
            dp[i] = v[i];
        }
    }

    int sol = dp[1];
    for (int i = 2; i <= n; i++) {
        if (dp[i] > sol) {
            sol = dp[i];
        }
    }

    std::cout << sol;
    return 0;
}