Cod sursa(job #3360573)

Utilizator JenJenCristache Ion JenJen Data 14 iulie 2026 18:02:41
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <bits/stdc++.h>
using namespace std;

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

#define MAX 6000005

int dp[MAX];
int v[MAX];
int n;
int ans = -INT_MAX;
int poz, poz1;
int temp = 1;

int main()
{
    ios_base::sync_with_stdio(false);
    in.tie(NULL);

    in >> n;

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

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

        if (dp[i + 1] > ans)
        {
            ans = dp[i + 1];
            poz = temp;
            poz1 = i + 1;
        }
    }

    out << ans << " " << poz << " " << poz1;
}