Cod sursa(job #2932679)

Utilizator k20ySabaceag Marius k20y Data 3 noiembrie 2022 17:47:03
Problema Subsecventa de suma maxima Scor 5
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <bits/stdc++.h>
using namespace std;

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

using ll = long long;

const int N = 6e6;

ll dp[N+5],v[N+5];

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

    dp[0]=LONG_MIN;

    ll sum=LONG_MIN;
    int st=0,dr=0;
    for(int i=1; i<=n; i++)
    {
        in>>v[i]; dp[i]=max(dp[i-1]+v[i],v[i]);


        if(dp[i] > sum)
        {
            sum=dp[i],dr=i;
            if(dp[i-1]+v[i] < v[i]) st=i;
        }
    }

    out<<sum<<' '<<st<<' '<<dr;
}