Cod sursa(job #3360568)

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

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

#define MAX 6000005

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

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

    in >> n;

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


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

        }
    }

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