Cod sursa(job #2932677)

Utilizator k20ySabaceag Marius k20y Data 3 noiembrie 2022 17:43:36
Problema Subsecventa de suma maxima Scor 85
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]=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-1]+v[i] < v[i]) st=i;
        if(dp[i] > sum) sum=dp[i],dr=i;
    }

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