Cod sursa(job #2932680)

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

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

using ll = long long;

const int N = 6e6;

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

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

    dp[0]=-9999999;

    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] && i<=dr) st=i;
    }

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