Cod sursa(job #3345476)

Utilizator Cosmin1605Damian Cosmin Cosmin1605 Data 9 martie 2026 19:14:18
Problema Subsecventa de suma maxima Scor 75
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <bits/stdc++.h>
using namespace std;

ifstream in("ssm.in");
ofstream out("ssm.out");

int main()
{
    int n, x;
    in >> n;

    vector<int> v(n + 1);
    v.push_back(0);

    for (int i = 1; i <= n; i++) {
        in >> v[i];
    }

    vector<int> dp(n + 1);
    vector<int> start(n + 1);
    dp[1] = v[1];
    start[1] = 1;

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

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

    out << sol << " " << start[sfarsit] << " " << sfarsit;

    in.close();
    out.close();

    return 0;
}